java集合

来源:互联网 发布:开票软件赋码 编辑:程序博客网 时间:2024/05/02 02:31

摘自百度百科


定义:把具有相同性质的一类东西,汇聚成一个整体,就可以称为集合。



集合框架是为表示和操作集合而规定的一种统一的标准的体系结构。任何集合框架都包含三大块内容:对外的接口、接口的实现和对集合运算的算法。


数组和容器


数组是Java提供的,能随机存储和访问reference序列的诸多方法中的,最高效的一种。数组是一个简单的线性序列,所以它可以快速的访问其中的元素。


等到快不够用的时候,再创建一个新的,然后将旧的数组里的reference全部导到新的里面ArrayList就是这么做的使得ArrayList的效率比起数组有了明显下降。


1.数组把对象和数字形式的下标联系起来。它持有的是类型确定的对象,这样提取对象的时候就不用再作类型传递了。它可以是多维的,也可以持有primitive。但是创建之后它

的容量不能改了。


2.Collection持有单个元素,而Map持有相关联的pair。


3.和数组一样,List也把数字下标同对象联系起来,你可以把数组和List想成有序的容器。List会随元素的增加自动调整容量。但是List只能持有Objectreference,所以不能存放

primitive,而且把Object提取出来之后,还要做类型传递。


4.如果要做很多随机访问,那么请用ArrayList,但是如果要再List的中间做很多插入和删除的话,就应该用LinkedList了。


5.LinkedList能提供队列,双向队列和栈的功能。


6.Map提供的不是对象与数组的关联,而是对象和对象的关联。

HashMap看重的是访问速度,而TreeMap看重键的顺序,因而它不如HashMap那么快。而LinkedHashMap则保持对象插入的顺序,但是也可以用LRU算法为它重新排序。


7.Set只接受不重复的对象。HashSet提供了最快的查询速度。而TreeSet则保持元素有序。LinkedHashSet保持元素的插入顺序。


8.没必要再在新代码里使用旧类库留下来的Vector,Hashtable和Stack了。

容器类库是你每天都会用到的工具,它能使程序更简洁,更强大并且更高效。
0 0
原创粉丝点击