Dieser Artikel bietet Ihnen eine einfache Analyse des Quellcodes von Set in Java. Ich hoffe, dass er für Freunde hilfreich ist.
Die Set-Schnittstelle erbt die Sammlungsschnittstelle und die darin enthaltenen Methoden sind in der Sammlung vorhanden
Die Hauptimplementierungsklassen von Set sind: HashSet, TreeSet
HashSet Quellcode
//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<>(); }
Durch die folgende Methode können wir sehen, dass die Implementierungsmethode von HashSet eine Karte ist Operation
//遍历 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-Quellcode
//TreeSet的继承关系 public class TreeSet<E> extends AbstractSet<E> implements NavigableSet<E>, Cloneable, java.io.Serializable
Das obige ist der detaillierte Inhalt vonEinfache Analyse des Quellcodes von Set in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!