본문 바로가기
JAVA

컬렉션 프레임워크

by winteringg 2022. 8. 28.

1. 컬렉션 프레임워크 (Collection Framework)
0) 컬렉션(Collection) -> 여러 객체(데이터를 모아놓은 것)
   프레임워크(Framework) -> 표준화, 정형화된 체계적인 프로그래밍 방식
1) 자료구조를 바탕으로 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 제공된 것
2) 컬렉션은 배열의 문제점을 해결하기 위해서 나옴.
3) 배열의 문제점
  - 처음 선언할 때 배열의 크기가 결정되고, 한번 결정되면 바꿀 수 없음.
  => 불특정 다수의 객체를 저장하기에는 문제가 됨.
  - 객체를 삭제했을 때 해당 인덱스가 비어있게 됨.
  => 객체를 저장하려면 어디가 비어있는지 확인하는 코드가 추가로 필요함.
4) 컬렉션 프레임워크
  - 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 제공되는 컬렉션 라이브러리
  - java.util 패키지에 포함.
  - 인터페이스를 통해서 정형화 된 방법으로 다양한 컬렉션 클래스를 이용. (ArraryList, Vector, HashSet 등)

2. 컬렉션 프레임워크 주요 인터페이스
1) List : 배열과 유사하게 인덱스로 관리

[0] [1] [2] .......
값1 값2 값3 .......


2) Set : 집합과 유사한 형태로 관리 (한 곳에 값이 모여있음)

3) Map : 키와 값의 쌍으로 관리

KEY1 KEY2 KEY3 .....
값1 값2 값3 .....

컬렉션 인터페이스의 상속관계

3. 각 인터페이스의 특징
1) List 계열
  - 객체를 일렬로 늘어놓은 구조 (그 순서를 유지하고 저장)
  - 객체를 인덱스로 관리하기 때문에 저장하면 자동으로 인덱스가 부여
  - 객체 자체를 저장하지 않고 객체의 번지를 참조하고, 그 번지가 객체를 가리키게 됨.
  - 동일한 객체의 중복 저장 가능
  - 구현 클래스 : ArrayList, Vector, LinkedList
2) Set 계열
  - 순서를 유지하지 않고 저장
  - 객체 중복 저장 안됨
  - 구현 클래스 : HashSet, TreeSet
3) Map 계열
  - 키와 값의 쌍으로 구성된 Entry 객체를 저장하는 구조
  - 구현 클래스 : HashMap, Hashtable, TreeMap, Properties

 

 

 

참고 : [한빛미디어] 이것이 자바다 (신용권의 Java 프로그래밍 정복) Chapter 15.컬렉션 프레임워크
참고 : [도우출판] JAVA의 정석(3ND EDITION)-자바의 정석 최신 Java 8.0 포함 Chapter 11.컬렉션 프레임워크

 

'JAVA' 카테고리의 다른 글

Set 컬렉션 (HashSet, TreeSet)  (0) 2022.08.28
List 컬렉션  (0) 2022.08.28
람다식 (Lambda Expression)  (0) 2022.08.28
생성자 super() vs 참조변수 super  (0) 2022.08.28
상속과 포함  (0) 2022.08.28

댓글