이 기사는 Set in Java의 소스 코드에 대한 간단한 분석을 제공합니다. 필요한 친구가 참고할 수 있기를 바랍니다.
Set 인터페이스는 컬렉션 인터페이스를 상속하며 내부 메소드는 모두 컬렉션에 존재합니다.
Set의 주요 구현 클래스는 다음과 같습니다: HashSet, TreeSet
HashSet 소스 코드
//HashSet的继承关系 public class HashSet<E> extends AbstractSet<E> implements Set<E>, Cloneable, java.io.Serializable
//由此可以看出hashSet底层实现是用HashMap private transient HashMap<E,Object> map; public HashSet() { map = new HashMap<>(); }
다음을 통해 method를 보면 HashSet의 구현 방식이 map 연산
//遍历 public Iterator<E> iterator() { return map.keySet().iterator(); } //计算长度 public int size() { return map.size(); } //判断是否为空 public boolean isEmpty() { return map.isEmpty(); } //添加 public boolean add(E e) { return map.put(e, PRESENT)==null; }
TreeSet 소스 코드
//TreeSet的继承关系 public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, java.io.Serializable임을 알 수 있습니다.
위 내용은 Java에서 Set의 소스 코드에 대한 간단한 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!