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