[java] 컬렉션 프레임워크의 주요 클래스

컬렉션 프레임워크는 자바에서 데이터를 구조화하고 처리하는데 사용되는 중요한 도구입니다. 여기에는 다양한 종류의 데이터를 저장하고 검색, 수정, 삭제 등을 수행할 수 있는 클래스들이 포함되어 있습니다. 이번 포스트에서는 컬렉션 프레임워크의 주요 클래스 몇 가지를 살펴보겠습니다.

ArrayList

ArrayList는 가변 크기의 배열로 구현되어 있는 리스트 클래스입니다. 데이터를 순차적으로 저장하며, 인덱스를 통해 데이터에 빠르게 접근할 수 있습니다. 데이터의 추가와 삭제가 빠르지만, 데이터의 중간 삽입과 삭제는 상대적으로 느릴 수 있습니다.

ArrayList<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Orange");
System.out.println(list.get(1)); // 출력 결과: Banana

LinkedList

LinkedList는 노드들이 링크로 연결되어 있는 리스트 클래스입니다. 데이터의 추가, 삭제, 삽입이 빠르지만 인덱스를 통한 데이터 접근은 선형 시간이 소요될 수 있습니다. 데이터의 중간 삽입과 삭제가 많은 경우 유용한 클래스입니다.

LinkedList<String> list = new LinkedList<>();
list.add("Apple");
list.add("Banana");
list.add("Orange");
System.out.println(list.get(0)); // 출력 결과: Apple

HashSet

HashSet은 중복을 허용하지 않고, 순서를 보장하지 않는 집합 클래스입니다. 해시 알고리즘을 사용하여 데이터를 저장하며, 데이터의 추가, 검색, 삭제가 상수 시간에 이루어집니다.

HashSet<String> set = new HashSet<>();
set.add("Apple");
set.add("Banana");
set.add("Orange");
System.out.println(set.contains("Banana")); // 출력 결과: true

HashMap

HashMap은 Key-Value 형태의 데이터를 저장하는 맵 클래스입니다. 데이터에 고유한 키를 할당하고 이를 통해 데이터에 빠르게 접근할 수 있습니다. 데이터의 추가, 검색, 삭제가 평균적으로 상수 시간에 이루어집니다.

HashMap<String, Integer> map = new HashMap<>();
map.put("Apple", 1000);
map.put("Banana", 2000);
map.put("Orange", 1500);
System.out.println(map.get("Banana")); // 출력 결과: 2000

위에서 소개한 클래스들은 자바의 컬렉션 프레임워크에서 주로 사용되는 몇 가지 클래스들입니다. 각 클래스는 다양한 메소드와 기능을 제공하므로, 개발자는 필요에 따라 적합한 클래스를 선택하여 사용할 수 있습니다.

참고: Oracle Java Documentation - Collection Framework