List의 후손으로 ArrayList와 동등하지만 동기화(Synchronized)를
제공한다는 점이 ArrayList와의 차이점
-> List 객체들 중에서 가장 성능이 좋지 않음
List의 후손으로, 인접 참조를 링크해 체인처럼 관리
특정 인덱스에서 객체를 제거하거나 추가하게 되면 바로 앞 / 뒤
링크만 변경하면 되기 때문에 객체 삭제와 삽입이 빈번하게
일어나는 곳에서는 ArrayList보다 성능이 좋음
Set에 객체를 저장할 때 hash함수를 사용하여 처리 속도가 빠름
동일 객체 뿐 아니라 동등 객체도 중복하여 저장하지 않음
HashSet과 거의 동일하지만
Set에 추가되는 순서를 유지한다는 점이 다름
이진 트리 자료구조의 형태로 데이터를 저장
중복된 데이터의 저장을 허용하지 않음
오름차순 정렬 기준(정규식 0-9, A-Z, a-z 순)으로 정렬
키(key)와 값(value)으로 구성되어 있으며, 키와 값은 모두 객체
키는 중복 저장을 허용하지 않고(Set방식), 값은 중복 저장 가능(List방식)
키가 중복되는 경우, 기존에 있는 키에 해당하는 값을 덮어 씌움
구현 클래스로 HashMap, Hashtable, LinkedHashMap, Properties, TreeMap 이 있음
키 객체는 hashCode()와 equals()를 재정의해 동등 객체가 될 조건을
정해야 함, 때문에 키 타입은 hashCode와 equals()메소드가 재정의되어
있는 String타입을 주로 사용
키 객체 만드는 법은 HashMap과 동일하나 Hashtable은 스레드 동기화가 된
상태이기 때문에, 복수의 스레드가 동시에 Hashtable에 접근해 객체를 추가,
삭제 하더라도 스레드에 안전 (Thread safe) -> 속도 느림
이진 트리를 기반으로 한 Map 컬렉션으로, 키와 값이 저장된 Map.Entry를
저장하고 왼쪽과 오른쪽 자식 노드를 참조하기 위한 두 개의 변수로 구성