Java 集合(Collections)总结

发表于:2013-12-10 10:24

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:love_world_    来源:51Testing软件测试网采编

#
java
分享:
  第一次系统的阅读理解Java Collections Framework的源码,已经粗略的学习完了,做个简单的总结。首先把资料放置在第一位,想系统学习的主要原因在工作之余想自学点东西,看了master24 的博文之后,感觉有必要把Java最长用的包学习一下,一来可以熟悉下Collections的API使用,用到再查和熟练使用总是不一样的。再者Collections Framework设计者书籍《Effective Java》荣获Jolt大奖,参考书及源码肯定有很多可学之处,而且相对于Java很多开源程序代码量并不大。
  如果想找一个开源的代码来读,之前又没有系统阅读代码的经验,不想读Tomcat、Jobss、Struts、Hibernate、Spring中大块头的经典开源项目,阅读Collection蛮好,代码量小,获得过Jolt大奖,质量无容置疑。
  一、集合对比
父类数据结构Java实现优点缺点
List
 有序存放、元素可以重复  
 ArrayList数组Object[]索引快插入慢
 LinkedList双链表Entry Inner Class插入块索引慢
 Vector 与ArrayList类似线程安全 
 Stack    
Set
 无重复元素,不排序。  
 HashSetHashMap实现
HashMap  存取 hashMap.put(value, new Object);
(如果是值类,通过覆盖hashCode与equals方法确认元素是否重复)
查找速度快 
 TreeSet 

NavigableMap 存取 hashMap.put(value, new Object);

(可以通过存入的元素实现Comparable接口,比较元素与元素排序操作)
  
Map
 Entry implements Map.Entry  
 HashMapHash Table + 单链表Entry Inner Class + Entry[]  
 TreeMap红黑二叉树
  
 java.util.Hashtable  线程安全 
21/212>
精选软件测试好文,快来阅读吧~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号