Chinaunix首页 | 论坛 | 博客
  • 博客访问: 501360
  • 博文数量: 161
  • 博客积分: 2250
  • 博客等级: 大尉
  • 技术积分: 1601
  • 用 户 组: 普通用户
  • 注册时间: 2007-04-19 18:58
文章分类

全部博文(161)

文章存档

2017年(2)

2015年(44)

2012年(1)

2011年(35)

2010年(10)

2009年(9)

2008年(5)

2007年(55)

我的朋友

分类: Java

2010-05-26 22:28:11

    今天学习了java中的集合,按照自己的理解稍作总结。
    首先java中为什么要引入集合呢,有数组不就可以了吗?我们都知道数组的容量在被定义的时候就已经确定了,但是我们要存储的数据个数却不定。也就是说,利用数组很难对数据进行有效的控制。而集合是用来存储和管理其他对象的对象。集合的容量可以按照自己的需要改变,而且可以存储任何数据类型的元素。
    下面依次几个集合。
1.ArrayList。
//ArrayList实现了List接口,List元素加载和移出是按照顺序,允许重复
//ArrayList,效率高,不直接支持并发,多用于查询
//底层用数组实现
2.LinkedList
//LinkedList底层是由双向链表实现的。查询效率底,但增删速度快
3.HashSet
//HashSet 存放没有次序、不允许重复的元素。存储效率高,查询效率低。
//一定要同时覆盖equals方法和hashCode方法才能实现过滤相等对象的要求
 /**
  * HashSet即散列表,按照哈希算法计算出哈希码作为存取和比较的依据,具有很好的存取和查找工作。
  * 当向集合中存储对象时,先生成哈希码。如果生成的哈希码与已有对象的哈希码相同,则调用equals
  * 方法对两个对象进行比较;如果哈希码不相等,则根据哈希码在集合中寻找相应的位置来存储对象,
  * HashSet的底层实现还是数组。set中的元素按hashCode顺序排列。
  */
 
 
 
未完待续……
 
 
   
 
阅读(802) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

blueideas 2010-05-31 00:51:54

很好啊,期待后续哦。。。