Java(1.8) 集合中的LinkedList
Java(1.8) 集合中的ArrayList
Java(1.8)集合类中的HashMap
Set
接口也实现了Collection
接口,Set
中可以存储不重复的元素。
下面看看其中一个实现类HashSet
的底层实现原理:
HashSet
底层用HashMap
来实现的,Set
的元素存储到Map
的key
, Value
则存储一个相同的对象Object
。
private transient HashMap<E,Object> map;
// Dummy value to associate with an Object in the backing Map
private static final Object PRESENT = new Object();
其中的方法:add(E e)
直接把元素放到map
中。
public boolean add(E e) {
return map.put(e, PRESENT)==null;
}
方法:remove(Object o)
也直接从map
中移除
public boolean remove(Object o) {
return map.remove(o)==PRESENT;
}
另外,Set
中没有看到get
相应的方法。原因应该是Set
是无序的,没有必要设计这个方法。