개념
먼저, 세트 컬렉션을 살펴 보겠습니다.
(01) 세트는 컬렉션에서 상속 된 인터페이스입니다. 중복 요소를 허용하지 않는 컬렉션입니다.
(02) AbstractSet은 AbstractCollection에서 상속되는 추상 클래스입니다. AbstractCollection은 세트에서 대부분의 기능을 구현하여 세트 구현 클래스에 편의를 제공합니다.
(03) Hastset과 Treeset은 세트의 두 가지 구현 클래스입니다.
Hashset은 실제로 Hashmap을 통해 구현되는 Hashmap에 의존합니다. 해시 세트의 요소는 순서가 좋지 않습니다.
TreeSet은 실제로 Treemap을 통해 구현되는 Treemap에 의존합니다. 트리 셋의 요소가 주문됩니다.
예 : :
위반을 통과하여 세트 컬렉션의 활용을 살펴 보겠습니다.
패키지 com.sort; java.util.hashset 가져 오기; import java.util.iterator; java.util.set import; /*** 중복 요소가 포함되어 있지 않은 컬렉션. 보다 구체적으로, 세트는 e1.equals (e2), e1 및 e2, * @author 소유자 */ public class settest2 {public static void main (string [] args) {set <string> set = new Hashset <string> ()를 만족시키는 요소를 포함하지 않습니다. set.add ( "a"); set.add ( "b"); set.add ( "C"); set.add ( "d"); set.add ( "e"); set.add ( "e"); set.add ( "e"); // 이중 데이터는/*** Traversal 메소드에 넣을 수 없습니다. 반복적 인 Traversal*/for (iterator <string> iterator = set.iterator (); iterator.hasnext ();) {system.out.print (iterator.next ()+""); } system.out.println (); System.out.println ( "*****************************"); / *** 향상된 루프 트래버스의 경우*/ for (문자열 값 : set) {system.out.print (value+""); }}} 참고 : 문자열 유형은 세트 컬렉션에 배치됩니다. 개인 클래스 인스턴스와 같이 정의하는 클래스 인스턴스를 제시하면 해시 세트를 사용할 때 hashcode () 메소드가 호출되어 컬렉션에 저장된 객체의 해시 코드 값이 추가 된 객체의 해시 코드 값과 일치하는지 여부를 결정하기 때문에 자체 키 필드로 다시 작성해야합니다. 일관성이 없다면 직접 추가하십시오. 일관성이 있으면 평등 방법을 비교하십시오. Equals 메소드가 true를 반환하면 객체가 추가되었고 새 개체가 추가되지 않으면 추가됩니다.