Java

자바 컬렉션 프레임워크 기초: List, Set, Map 이해하기

개발만파볼까 2023. 5. 25. 22:38
728x90
반응형
SMALL

자바 컬렉션 프레임워크

자바 컬렉션 프레임워크는 데이터를 저장하고 처리하는 데 필요한 클래스와 인터페이스의 모음입니다. 이 프레임워크를 이용하면 프로그래머들은 데이터를 효율적으로 처리하고 조작할 수 있습니다. 컬렉션 프레임워크는 주로 List, Set, Queue, Deque, Map 인터페이스를 통해 구현됩니다.

 

리스트(List)

List 인터페이스는 순서가 있는 컬렉션을 정의합니다. 즉, 요소들이 특정 순서로 저장되며 중복 요소를 허용합니다. List의 주요 구현체로는 ArrayList, LinkedList 등이 있습니다.

  • ArrayList: 동적 배열을 구현한 클래스로, 크기를 자동으로 조정하는데 효율적입니다. 랜덤 액세스가 가능하여 특정 인덱스의 요소에 빠르게 접근할 수 있습니다.
  • LinkedList: 이중 연결 리스트를 구현한 클래스로, 요소의 추가와 삭제가 빈번하게 일어나는 경우에 효율적입니다.

List 사용 시기: 순서를 유지해야 하고, 중복된 요소를 허용해야 할 때 List를 사용합니다. 예를 들어, 동일한 사람이 여러 번 투표할 수 있는 투표 시스템에서는 List를 사용할 수 있습니다.

 

세트(Set)

Set 인터페이스는 유일한 요소의 집합을 정의합니다. 즉, 중복된 요소를 허용하지 않습니다. Set의 주요 구현체로는 HashSet, TreeSet 등이 있습니다.

  • HashSet: 해시 테이블을 사용하여 요소를 저장하는 클래스로, 요소의 추가, 삭제, 검색 등이 빠릅니다. 하지만 요소들의 순서는 보장하지 않습니다.
  • TreeSet: 트리 구조를 사용하여 요소를 저장하는 클래스로, 요소들이 정렬된 순서로 유지됩니다.

Set 사용 시기: 중복을 허용하지 않는 요소들의 집합을 다루고자 할 때 Set을 사용합니다. 예를 들어, 학생들의 고유한 ID 집합을 저장할 때 Set을 사용할 수 있습니다.

 

맵(Map)

Map 인터페이스는 키-값 쌍을 저장하는데 사용됩니다. 키는 중복될 수 없지만, 값은 중복될 수 있습니다. Map의 주요 구현체로는 HashMap, TreeMap 등이 있습니다.

  • HashMap: 해시 테이블을 사용하여 키-값 쌍을 저장하는 클래스로, 추가, 삭제, 검색 등이 빠르지만, 요소의 순서는 보장하지 않습니다.
  • TreeMap: 트리 구조를 사용하여 키-값 쌍을 저장하는 클래스로, 키에 따라 정렬된 순서로 요소를 유지합니다.

Map 사용 시기: 키-값 쌍을 저장하고자 할 때 Map을 사용합니다. 예를 들어, 사람의 이름(키)과 그들의 나이(값)를 저장하고자 할 때 Map을 사용할 수 있습니다.

아래에 이 내용을 표로 정리해봤습니다:

 

  List Set Map
 
정의 순서가 있는 컬렉션. 중복 허용. 유일한 요소의 집합. 중복 불허. 키-값 쌍을 저장. 키는 중복 불허, 값은 중복 허용.
주요 구현체 ArrayList, LinkedList HashSet, TreeSet HashMap, TreeMap
사용 시기 순서를 유지해야 하고, 중복을 허용해야 할 때. 중복을 허용하지 않는 요소의 집합을 다룰 때. 키-값 쌍을 저장해야 할 때.

 

728x90
반응형
LIST