Java 컬렉션 클래스는 java.util 패키지에 저장되며 객체를 저장하는 데 사용되는 컨테이너입니다. Java의 중복되지 않는 컬렉션을 살펴보겠습니다.
Set: HashSet()의 일반적인 구현은 순서가 없고 반복할 수 없는 집합입니다.
1. Set hashSet = new HashSet(), HashSet: 요소의 순서는 반복될 수 없습니다. ; 스레드로부터 안전하지 않음 컬렉션 요소는 NULL일 수 있습니다.
②. 맨 아래 레이어는 실제로 배열이며 그 목적은 쿼리 속도를 높이는 것입니다. 일반적인 배열에서는 배열 내 요소의 인덱스 위치가 무작위이며, 요소의 값과 요소의 위치 사이에 명확한 관계가 없다는 것을 알고 있습니다. 따라서 배열에서 특정 값을 검색할 때. , 일련의 요소와 비교하여 검색 값을 변경해야 합니다. 이때 쿼리 효율성은 검색 프로세스 중 비교 횟수에 따라 달라집니다. HashSet 컬렉션의 기본 배열의 인덱스와 값에는 index=hash(값)라는 특정한 관계가 있으며, 요소나 인덱스를 빠르게 찾으려면 이 공식을 호출하기만 하면 됩니다.
3. HashSet의 경우: 두 객체가 equals() 메서드를 통해 true를 반환하는 경우 두 객체의 hashCode 값도 동일해야 합니다.
2.linkedHashSet = new LinkedHashSet();
①, 기본 알고리즘이 연결 목록 및 해시 테이블 알고리즘을 사용하므로 순서대로 반복할 수 없습니다. 연결된 목록은 요소가 추가되는 순서를 보장하고, 해시 테이블은 요소의 고유성을 보장합니다. 3. Set treeSet = new TreeSet();
* TreeSet() 매개변수 없는 생성자를 사용하여 TreeSet 객체를 생성하는 경우 그 안에 배치된 요소의 클래스는 Comparable 인터페이스를 구현해야 하므로 null 요소가 배치될 수 없습니다.
공통점:
1. 어느 것도 반복 요소를 허용하지 않습니다.
차이점:
HashSet: 요소가 추가되는 순서는 보장되지 않습니다. 하위 레이어는 해시 테이블 알고리즘을 사용하며 쿼리 효율성이 높습니다. 두 요소가 동일한지 확인하기 위해 equals() 메서드는 true를 반환하고 hashCode() 값은 동일합니다. 즉, HashSet에 저장된 요소는 HashSet의 하위 클래스인 equals() 메소드와 hashCode() 메소드
LinkedHashSet를 커버해야 합니다. 맨 아래 레이어는 해시 테이블 알고리즘과 연결 목록 알고리즘을 사용합니다. 요소를 추가하는 순서를 정할 뿐만 아니라 쿼리 효율성도 향상시킵니다. 그러나 전반적인 성능은 HashSet보다 낮습니다.TreeSet: 요소 추가 순서는 보장되지 않지만 세트에 있는 요소는 정렬됩니다. 맨 아래 레이어는 레드-블랙 트리 알고리즘을 채택합니다(트리 구조는 범위 쿼리에 더 적합함)
맵: 키-값 쌍, 키는 반복될 수 없으며 값은
1일 수 있습니다. , 맵은 집합이 아닙니다. 두 컬렉션 간의 매핑 관계입니다.
더 많은 Java 지식을 알고 싶다면 java 기본 튜토리얼
칼럼을 주목해주세요.위 내용은 Java의 고유 컬렉션은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!