인터페이스 : 빨간색; 구현 클래스 : 검은 색 글꼴
1. 컬렉션 컬렉션
수집
| _____ 세트 (해시 세트)
| | _____ SortedSet (Treeset)
| _____ 목록 (ArrayList, LinkedList, Vector)
컬렉션 : 컬렉션 레벨의 루트 인터페이스. JDK는이 인터페이스에 구현 클래스를 제공하지 않습니다.
목록 : Orderly (배치 순서대로)를 반복 할 수 있으며 구독이 있습니다.
세트 : 정렬되지 않고 반복 할 수 없으며 첨자가 없습니다.
SortedSet : 세트 인터페이스의 하위 인터페이스입니다. SortedSet의 요소는 (알파벳순으로 오름차순으로) 주문됩니다.
비교 가능한 인터페이스의 비교 방법을 통해 요소는 순서대로 구현됩니다. 배치 된 모든 요소는 비교 가능한 인터페이스를 구현해야합니다 (또는 지정된 비교기에 의해 허용 됨).
목록 인터페이스 의 구현 클래스 간의 차이점 :
ArrayList : 본질적으로 배열입니다. 스레드는 안전하지 않습니다. 쿼리 (get/set)가 빠르고 추가/제거 (추가/제거)가 느립니다.
Linkedlist : 본질적으로 양방향 링크 목록. 스레드는 안전하지 않습니다. 쿼리 (get/set)가 느리고 추가/제거가 빠릅니다.
벡터 : ArrayList와 거의 동일합니다. 유일한 차이점은 벡터가 동기화되고 스레드 안전이라는 것입니다.
2. 지도 수집
지도 (Hashmap, Hashtable)
| _____ SortedMap (Treemap)
맵 : 중복 키를 포함 할 수없고 중복 값을 가질 수있는 키 값 쌍을 저장합니다.
SortedMap : Map의 Subinterface SortedMap은 키를 오름차순 순서로 배열하는 맵입니다.
해시 맵 , 해시 가능 및 트리 맵 의 차이
해시 맵 : 스레드는 안전하지 않습니다. 키와 값은 모두 null 일 수 있습니다. 요소는 무질서합니다. 기본 층은 해시 테이블 데이터 구조입니다.
해시 가능 : 스레드-안전. 키나 값은 무효가 될 수 없습니다. 요소는 무질서합니다. 기본 층은 해시 테이블 데이터 구조입니다.
Treemap : 스레드는 안전하지 않습니다. 키나 값은 무효가 될 수 없습니다. 요소는 주문됩니다 (오름차순 알파벳 순서로). 기본 층은 이진 트리 데이터 구조입니다.
3. 중복없이 키를 구현 하고 지도 값 을 설정하는 방법
맵은 동일한 키를 넣은 다음 이전 키를 덮습니다.
지도 맵 = new Hashmap ();
map.put ( "이름", "Zhang San");
map.put ( "이름", "Wangwu"); ------- 효과적, 이전을 덮어 씁니다
세트가 동일한 요소를 넣으면 첫 번째 요소가 유효하며 다음 요소는
set set = new Hashset ();
set.add ( "111"); --- 효과
set.add ( "222"); ---- 이미 존재했으며 입력되지 않을 것이라고 판단합니다.
1. 해시 맵 퍼팅 및 해시 세트 추가
Hashset의 add () 메소드는 실제로 수집 요소를 추가 할 때 키 값 쌍을 추가하기 위해 Hashmap의 put () 메소드를 호출합니다. hashmap의 put () 메소드는 먼저 .hashcode ()를 호출하여 반환 값이 동일하다는 것을 결정합니다. 반환 값이 동일하면 평형 비교를 통해 true를 반환합니다. 마지막으로, 핵심 객체는 동일하고 이미 해시 맵에 존재한다고 믿어집니다.
2. Treemap Put 및 Treeset Add
풋 방법이 트리 맵에서 호출되면 키 값을 추가하면 객체의 비교 (또는 비교) 메소드가 호출되어 모든 키를 비교합니다. 이 메소드가 0을 반환하면 두 키는 동일하게 간주됩니다.
treeset에서 요소를 추가 할 때 Compareto를 호출하거나 비교 방법을 찾으려면 요소의 위치, 즉 반환 비교 또는 동일한 위치로 간주되는 반환 0과 비교하십시오. 즉, 동일한 요소.