Java中HashMap,HashSet,ArrayList是线程不安全的。
hashset http://www.importnew.com/19208.html
list http://www.cnblogs.com/sierrajuan/p/3639353.html
HashSet基于HashMap,大致的结构是这样的:
private transient HashMap<E,Object> map;
// Dummy value to associate with an Object in the backing Map
private static final Object PRESENT = new Object();
map是整个HashSet的核心,而PRESENT则是用来造一个假的value来用的。
ArrayList和Vector使用了数组的实现,可以认为ArrayList或者Vector封装了对内部数组的操作,比如向数组中添加,删除,插入新的元素或者数据的扩展和重定向。
LinkedList使用了循环双向链表数据结构。