프로그래밍/JAVA

컬렉션(collection)

라롸 2020. 2. 4. 17:38

  다수의 객체를 저장해두고 필요할 때마다 꺼내서 사용하는 경우 가장 간단한 것은 배열을 이용하는 것이다. 배열은 쉽게 생성하고 사용할 수 있지만, 저장할 객체 수가 배열을 생성할 때 결정되기 때문에 불특정다수의 객체를 저장하기에는 문제가 있다. 또, 객체를 삭제했을 때 해당 인덱스가 비게 되어서 새로운 객체를 저장하려면 어디가 비어 있는지 확인하는 코드도 필요하다.

 

  자바는 배열의 이러한 문제점을 해결하고, 자료구조를 바탕으로 객체들을 효율적으로 추가, 삭제, 검색할 수 있도록 java.util 패키지에 컬렉션과 관련된 인터페이스와 클래스들을 포함시켜 놓았다. 이들을 총칭해서 컬렉션 프레임워크(Collection Framework) 라고 부른다. 

 

컬렉션은 각 사용용도에 따라서 크게 List, Set, Map으로 나눌 수 있다.

https://withwani.tistory.com/150

 Collection 인터페이스의 특징

 

인터페이스 

구현클래스 

특징 

 Set

 HashSet 

TreeSet 

순서를 유지하지 않는 데이터의 집합으로 데이터의 중복을 허용하지 않는다.

 List

 LinkedList 

Vector 

ArrayList 

순서가 있는 데이터의 집합으로 데이터의 중복을 허용한다.

 Map

 Hashtable 

HashMap 

TreeMap

키(Key), 값(Value)의 쌍으로 이루어진 데이터의 집합으로 순서는 유지되지 않으며 키(Key)의 중복을 허용하지 않으나 값(Value)의 중복은 허용한다.

 

 

 

 

 


참고 

1.  책 - 이것이 자바다 신용권의 Java 프로그래밍 정복

2.  https://hackersstudy.tistory.com/26

3.  https://gangnam-americano.tistory.com/41