🔙뒤로가기

ArrayList 클래스

ArrayList 클래스는 List 인터페이스를 구현하는 가변 크기의 배열이다. 배열의 크기를 동적으로 변경할 수 있으며, 배열 인덱스를 이용한 데이터 접근이 빠르지만, 삽입과 삭제가 느린 편이다.

LinkedList 클래스

LinkedList 클래스는 List와 Deque 인터페이스를 모두 구현하는 이중 연결 리스트다. 각 요소가 이전 및 다음 요소에 대한 참조를 유지하므로 데이터의 삽입과 삭제가 빠르지만, 인덱스를 이용한 데이터 접근은 느리다.

HashSet 클래스

HashSet 클래스는 Set 인터페이스를 구현하는 해시 테이블이다. 데이터의 중복을 허용하지 않으며, 순서를 보장하지 않는다. 데이터의 삽입, 삭제, 조회 등의 작업이 일반적으로 빠르게 수행된다.

LinkedHashSet 클래스

LinkedHashSet 클래스는 HashSet에 LinkedList가 추가된 형태로, 데이터의 삽입 순서를 유지하는 것이 특징이다. 삽입된 순서대로 데이터를 반복하는 것이 필요할 때 유용하게 사용될 수 있다.

TreeSet 클래스

TreeSet 클래스는 Set 인터페이스를 구현하는 이진 탐색 트리다. 데이터를 정렬된 상태로 저장하며, 중복 데이터는 허용하지 않는다. 데이터의 삽입, 삭제, 조회시 로그 시간 복잡도를 갖는다. 데이터를 정렬된 상태로 유지해야 하는 경우에 유용하다.

PriorityQueue 클래스

PriorityQueue 클래스는 Queue 인터페이스를 구현하는 힙(heap) 자료구조이다. 각 요소는 자연스러운 순서 또는 Comparator에 의해 제공된 순서에 따라 정렬된다. 이 클래스는 효율적인 최소값 제거 및 삽입 연산을 제공한다.

ArrayDeque 클래스

ArrayDeque 클래스는 Deque 인터페이스를 구현하는 배열이다. 이 클래스는 두 끝에서 추가 및 제거가 가능하여 스택과 큐 모두로 사용할 수 있다. 이 클래스는 ArrayList보다 빠른 제거 및 추가를 제공하지만, 중간에 있는 요소의 접근은 느리다.