먼저 모든 컬렉션이 추가중인 요소가 이미 컬렉션에 있는지 확인하지는 않습니다. 예를 들어, ArrayList는 목록에 이미 있는지 확인하지 않고 요소를 목록의 끝에 추가합니다. 요소가 Comparable로 간주되고 콜렉션이 정렬 될 경우 (이를 삽입 할 적절한 위치를 찾기 위해) 콜렉션이 오브젝트의 사본을 하나만 갖거나, compareTo가 보장되는 경우 다른 클래스는 equals를 사용합니다. 맵은 equals를 사용하여 키를 확인하지만 HashMap과 같은 일부 메소드는 hashCode()를 사용하여 검색 프로세스의 속도를 높입니다. 먼저 동일한 해시 코드로 모든 키를 가져오고 각 키에 equals를 사용하여 키가 이미 있고 값이 할당 된 경우 대체됩니다).
그러나 어떻게 작동하는지 보려면 jdk에 포함 된 출처를 확인하십시오. 이클립스에서 jdk가 설치된 폴더로 JRE를 설정하고 Ctrl + Shift + T를 사용하여 jdk에서 클래스 (유형)를 열거 나 Ctrl + 이름으로 클래스 이름을 클릭하거나 메서드, CTRL + 클릭 -> 구현 열기, 해당 메소드를 구현하는 클래스가있는 팝업을 엽니 다 (인터페이스 인 경우 또는 인터페이스가 클래스가 아닌 경우 클래스의 메소드)