기록

*22일차 (Collection) 본문

학원/강의

*22일차 (Collection)

pringspring 2022. 2. 23. 15:14

 

 ✔대상과 연결되는 것 = 주스트림

 ✔절대주소 : 파일시스템 디렉토리 최상위구조

 ✔상대주소: 프로젝트 디렉토리 기준 시작

 

 

 

@Collection

 *정의

  • 자바에서 제공하는 자료구조를 담당하는 프레임워크
  • 추가 삭제 정렬 등의 기능처리가 간단하게 해결되어 알고리즘 구현할 필요 없음
  • java.util 패키지에 포함되어 있음
  • 인터페이스를 통해 정형화 된 방법으로 다양한 컬렉션 클래스를 이용할 수 있다.

 

 

 *주요 인터페이스

 ✔ Vector 와 HashTable은 구식이라 사용하지 않음

   

*분류

 

 1.Collection

  a.List

    -특징

  • 순서를 유지하고 저장
  • 중복 저장 가능          

  b.Set

    -특징

  • 순서 유지안하고 저장
  • 중복 저장 안됨

 

2.Map

  -특징

  • key와 값의 쌍으로 저장
  • 키는 중복저장 안됨 (Set속성)
  • 값은 중복저장 가능 (List속성)

 

*배열의 문제점

  1. 한번 크기를 지정하면 변경할 수 없다.
  2. 배열에 기록된 data에 대한 중간 위치의 추가,삭제가 불편하다.
  3. 한 타입의 data만 저장 가능하다.

 

*컬렉션의 장점

  1. 저장하는 크기의 제약이 없다.
  2. 추가,삭제,정렬이 간단하다.
  3. 여러 타입을 저장할 수 있다.  → 객체만 저장할 수 있기 때문에 필요에 따라 기본 자료형을 저장해야 하는 경우 Wrapper클래스 사용.

 

 

*List

 -정의

  • 자료들을 순차적으로 나열한 자료구조
  • index로 관리
  • 중복해서 객체 저장 가능
  • 구현 클래스 : ArrayList , LinkedList

 

1.Array List

 -정의

  • List의 후손
  • 초기 저장 용량은 10으로 자동 설정. 따로 지정도 가능
  • 저장 용량을 초과한 객체들이 들어오면 자동적으로 늘어남
  • 동기화 제공 X

 

#ArrayList가 관심있는 것은 "저장된 순서"

 

 

 

#generics

  • 컬렉션 요소 타입을 제한하는 기능
  • 지정한 타입만 추가 가능 (그 외 타입은 컴파일 오류)
  • getter사용시 return 될 타입을 한정할 수 있다.
  • 형변환 불필요

 

 

 

 

#List<Student> 관리

 

 

 

#요소 삭제/추가/포함여부/중복제거/index

'학원 > 강의' 카테고리의 다른 글

*25일차  (0) 2022.02.28
*23일차  (0) 2022.02.24
*21일차 (파일 입출력 IO)  (0) 2022.02.22
*20일차 (Exception)  (0) 2022.02.21
*19일차 (문자열 자르기)  (0) 2022.02.17