Set 컬렉션 은 동일한 유형의 순서가 없고 반복되지 않는 일련의 요소로 구성된 컬렉션입니다. 데이터를 저장할 때 해당 요소의 hashCode 값을 먼저 결정해야 하며, 값이 다른 경우 저장됩니다.
1) 세트 컬렉션은 컬렉션 컬렉션의 하위 클래스입니다.
2) 중복된 요소를 포함하지 않는 컬렉션입니다.
3) 인덱싱된 메소드가 없으므로 일반적인 for 루프로는 순회할 수 없습니다.
add(Object 요소) : 지정된 요소를 Set 컬렉션의 끝에 추가합니다.
제거(Object 요소) : 지정된 요소가 Set 컬렉션에 존재하는 경우 Set 컬렉션에서 해당 요소를 제거합니다.
clear() : Set 컬렉션에서 모든 요소를 제거합니다.
isEmpty() : Set 컬렉션에 요소가 있는지 확인합니다. true를 반환하지 않으면 false를 반환합니다.
포함(Object 요소) : Set 컬렉션에 지정된 요소가 포함되어 있는지 확인하고, 포함하면 true를 반환하고, 포함하지 않으면 false를 반환합니다.
iterator() : 컬렉션을 순회하는 데 사용되는 반복자(Iterator) 객체를 반환합니다.
size() : Set 컬렉션의 요소 수를 반환하고 반환 값은 int 유형입니다.
예를 들어:
importjava.util.HashSet;importjava.util.Set;publicclassMain{publicstaticvoidmain(String[]args){Setset=newHashSet();Stringb=B;//세트에 요소 추가 set.add(A);set.add( b);set.add(C);set.add(b);set.add(D);set.add(b);set.add(E);//설정 요소 수를 인쇄합니다. System.out. println (set size=+set.size());//세트를 인쇄합니다 System.out.println(set);//세트에서 첫 번째 "B" 요소를 제거합니다. set.remove(b);//여부 결정 세트는 "B" 요소를 포함합니다. System.out.println(B 포함 여부: +set.contains(b)); // 세트가 비어 있는지 확인 System.out.println(세트 세트가 비어 있음) : +set.isEmpty( ));//컬렉션 지우기 set.clear();System.out.println(set);}}
실행 결과는 다음과 같습니다.
세트 크기=5[A,b,C,D,E]에 B가 포함되어 있는지 여부: falseset 세트가 비어 있음: false[]
해시 값은 u 번째 항목의 주소 또는 번호를 기반으로 JDK에서 계산한 int 클래스의 값입니다. Object 클래스에서 해시 값을 얻는 방법이 있습니다. public int hashCode()는 해시 값을 반환합니다. .
객체 해시값의 특징은 다음과 같습니다.
1) hashCode() 메소드가 반환하는 해시 값은 동일한 객체에 대해 여러 번 호출될 때 동일합니다.
2) 기본적으로 서로 다른 객체의 해시 값은 다르지만, hashCode 메소드를 재정의하여 해시 값을 동일하게 만들 수 있습니다.
참고 : 다른 문자열은 동일한 해시 값을 갖습니다. String은 "Chongdi" 및 "Call"과 같은 hashCode 메서드를 재정의하기 때문에 해시 값은 모두 1179395입니다.