자료구조별 설명
설명 | |
Collection | 모든 컬렉션 인터페이스의 상위 인터페이스로, 컬렉션의 기본 동작을 정의합니다. |
List | 순서가 있는 컬렉션으로, 중복된 요소를 포함할 수 있습니다. |
Set | 순서가 없고 중복을 허용하지 않는 컬렉션으로, 중복된 요소를 저장하지 않습니다. |
Queue | FIFO(First-In-First-Out) 순서를 따르는 컬렉션으로, 큐의 동작을 지원합니다. |
Deque | 양쪽 끝에서 요소를 추가, 삭제할 수 있는 덱(Deque) 컬렉션입니다. |
Map | 키-값 쌍을 저장하는 컬렉션으로, 각 키는 하나의 값을 연결합니다. 키는 중복되지 않습니다. |
자료구조별 특징
Interface | Class | Base Interface | 중복 | 순서 | 정렬 | Thread-safe |
List | ArrayList | List | O | O | X | X |
LinkedList | List, Deque | X | ||||
Vector | List | O | ||||
Set | HashSet | Set | X | X | X | X |
LinkedHashSet | Set | O | X | X | ||
TreeSet | Set, NavigableSet, SortedSet | O | O | X | ||
Map | HashMap | Map | X | X | X | X |
LinkedHashMap | Map | O | X | X | ||
Hashtable | Map | X | X | O | ||
TreeMap | Map, NavigableMap, SortedMap | O | O | X |
※ Thread-safe는 멀티 스레드 프로그래밍에서 일반적으로 어떤 함수나 변수, 혹은 객체가 여러 스레드로부터 동시에 접근이 이루어져도 프로그램의 실행에 문제가 없음을 뜻한다. 보다 엄밀하게는 하나의 함수가 한 스레드로부터 호출되어 실행 중일 때, 다른 스레드가 그 함수를 호출하여 동시에 함께 실행되더라도 각 스레드에서의 함수의 수행 결과가 올바로 나오는 것으로 정의
주요메소드 : List
메소드 | 설명 |
boolean add(E e) | 주어진 객체를 추가하여 저장되면 값을 리턴 |
void add(int index, E e) | 특정 위치에 저장 주어진 객체 저장 |
void clear() | 저장된 모든 객체를 삭제 |
boolean contains(Object o) | 주어진 객체가 저장되어있는지 여부를 리턴 |
boolean equals(Object o) | 리스트와 주어진 객체가 같은지 확인 |
E get(int index) | 특정 위치에 존재하는 객체를 리턴 |
boolean isEmpty() | 컬렉션이 비어있는지 확인 |
Iterator<E> iterator() | 저장된 객체를 한번씩 가져오는 반복자를 리턴 |
boolean remove(Object o) | 주어진 객체를 삭제 |
boolean remove(int index) | 특정 위치에 존재하는 객체를 삭제 |
E set(int index, E e) | 특정 위치의 객체를 전달된 객체로 변경 |
int size() | 저장되어 있는 전체 객체수를 리턴 |
Object[] toArray() | 모든 객체를 Object 타입의 배열로 리턴 |
주요메소드 : Set
메소드 | 설명 |
boolean add(E e) | 주어진 객체를 저장 후 성공적이면 true를 중복 객체면 false를 리턴 |
boolean contains(Object o) | 주어진 객체가 저장되어있는지 여부를 리턴 |
Iterator<E> iterator() | 저장된 객체를 한번씩 가져오는 반복자를 리턴 |
boolean isEmpty() | 컬렉션이 비어있는지 확인 |
int Size() | 저장되어 있는 전체 객체수를 리턴 |
void clear() | 저장된 모든 객체를 삭제 |
boolean remove(Object o) | 주어진 객체를 삭제 |
주요메소드 : Map
메소드 | 설명 |
V put(K Key, V value) | 주어진 키와 값을 추가하여 저장되면 값을 리턴 |
boolean containsKey(Object Key) | 주어진 키가 있는지 확인 |
boolean containsValue(Object value) | 주어진 값이 있는지 확인 |
Set<Map.Entry<K,V>> entrySet() | 모든 Map.Entry 객체를 Set에 담아 리턴 |
Set<K> keySet() | 모든 키를 Set객체에 담아서 리턴 |
V get(Object key) | 주어진 키에 있는 값을 리턴 |
boolean isEmpty() | 컬렉션이 비어있는지 확인 |
int Size() | 저장되어 있는 전체 객체의 수를 리턴 |
Collection<V> values() | 저장된 모든 값을 Collection에 담아서 리턴 |
void clear() | 저장된 모든 Map.Entry를 삭제 |
V remove(Object Key) | 주어진 키와 일치하는 Map.Entry를 삭제하고 값을 리턴 |
Iterator/Iteratable (0) | 2023.10.28 |
---|---|
Stack, Queue, Deque (0) | 2023.10.26 |