欢迎我们的大家族!!java的集合类。等等等~
简单的对比如下:
每个集合类的实现,都值得去好好研究一下。里面的接口与调用方法的实现:
ArrayList的实现原理:底层就是array。LinkedList底层使用链表进行实现。
http://zhangshixi.iteye.com/blog/search?query=%E6%B7%B1%E5%85%A5Java%E9%9B%86%E5%90%88%E5%AD%A6%E4%B9%A0%E7%B3%BB%E5%88%97
Hashmap的实现原理
HashMap实际上是一个“链表的数组”的数据结构,每个元素存放链表头结点的数组,即数组和链表的结合体。
HashMap是基于哈希表的Map接口的非同步实现(Hashtable跟HashMap很像,唯一的区别是Hashtalbe中的方法是线程安全的,也就是同步的)
http://www.cnblogs.com/xwdreamer/archive/2012/06/03/2532832.html
Hashset的实现原理
HashSet中add方法调用的是底层HashMap中的put()方法,HashSet中的元素都存放在HashMap的key上面,而value中的值都是统一的一个private static final Object PRESENT = new Object();。HashSet跟HashMap一样,都是一个存放链表的数组。
http://www.cnblogs.com/xwdreamer/archive/2012/06/03/2532999.html
LinkedHashMap的实现原理
http://zhangshixi.iteye.com/blog/673789