這篇文章帶給大家的內容是關於Java中Set的源碼的簡單解析,有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。
Set介面繼承collection接口,裡面的方法在collection中都有
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<>(); }
#透過下面方法,我們可以看出來,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中文網其他相關文章!