HashSet의의 원리는 쉽게 이해하기

HashSet의는, 실제로는 HashMap의 인스턴스 스토리지 어레이의 링크 된 목록입니다. 그것은 반복 저장 요소의 순서를 보장하지 않습니다 클래스는 null 요소가 있습니다. HashSet의 요소는, 중복이 허용되지 않는 HashSet의이기 때문에, 중요한 요소 HashSet의 HashMap에 기반 구현 위에서는 HashMap에 저장되는 객체의 값의 값이 개인 정적 최종 개체 PRESENT = 새로운 객체 고정 균일 ();

HashSet의 메소드 호출에 추가 HashMap의 풋 () 메소드의 하단이며, 우선, HashMap에 넣고 통화 키 값의 값을 수정 존재한다면 그 존재하지 않는 키는 키 값에 삽입되는 경우에 키가 존재하는지 여부를 판단한다면 . 이 삽입물이없는 경우 삽입이없는 경우,이 세트에서 소용 값의 값이되므로, 이에 HashSet의 요소에 가산 값 인수 값의 어떠한 수정이 없을 것, 소자 먼저 결정된다 (즉, 키)가 존재 그 때문에 HashSet의에 중복 값이 ​​없습니다.

 그것은 중요한 클래스는 요소를 무시할 것 같음 ()와 hashCode () 메소드 때 개체 세트에 추가되어 있는지 여부를 결정하고, 제 2 물체의 해시 값을 계산하기 위해 해시 코드의 첫 번째 호출 () 메소드 곳 객체의 클래스, 이 해시 값은 상기 세트에 기억 된 물체의 위치를 ​​결정하며,이 위치를 직접 객체) (동일 클래스의 피사체를 통해 스토리지 오브젝트 Ruoyi에 저장되어 있지 않은 경우, 두 물체가 동일한 비교하고, 동일하지 않을 수있다 추가 할 수 있습니다.

추천

출처www.cnblogs.com/linliquan/p/11579013.html