集合类
- Set
- HashSet
- LinkedHashSet
- TreeSet
-
优点:
通过一个HashMap来实现数据的保存,内部实现红黑树数据结构,使所有元素按升序保存。
提供高效的get和contains方法,保存操作的效率为log(n)
缺点:
默认大小为16, 如果超过则需要重新申请内存空间,大小为原来的两倍,并把原来的数据内容复制到
新的内存空间中(来自HashMap)。
线程不安全(需通过Collections.synchronizedList方法设置)
加入的元素升级排序而改变
注:treeset对元素有要求,必须实现Comparable接口或是Comparator 接口)
注:通常缺省的load factor 0.75较好地实现了时间和空间的均衡。增大load factor可以节省空间但相应的查找时间将增大,这会影响像get和put这样的操作。
- CopyOnWriteArraySet
- 优点:
针对于对Set操作的情况有很多变化时使用,优其是在高并发的情况不想使用同步控制锁时
缺点:
消耗比较大的资料,每次作更新操作时,都会重新Copy一块内存后,再做合并操作。
- List
- ArrayList
-
优点:
使用数组,提供快速的get,add和iterate方法,占用比较小的内存空间
缺点:
线程不安全(需通过Collections.synchronizedList方法设置)
insert和remove操作,非常慢(需要移动数组元素来实现)
当size超过时,需要新建一个较大的数据(默认大小是10,增量是 (size * 3)/2 + 1,
且把原来的数据都复制到新的上面)
- LinkedList
-
优点:
使用链表结构,提供快速的add, insert, remove方法,占用比较小的内存空间
缺点:
线程不安全(需通过Collections.synchronizedList方法设置)
get操作,非常慢(需要从head一级级遍历查找)
- Vector
- 优点:
线程安全。
缺点:
相对于ArrayList效率要低。拥有ArrayList的缺点。
- CopyOnWriteArrayList
- 优点:
针对于对List操作的情况有很多变化时使用,优其是在高并发的情况不想使用同步控制锁时
缺点:
消耗比较大的资料,每次作更新操作时,都会重新Copy一块内存后,再做合并操作。
- TreeList(apache commons-collections)提供
-
优点:
基于二叉数 提供比较快速的get, add,insert,iterate,remove方法。其中get,add和iterate方法比ArrayList稍慢一点。
缺点:
相对于ArrayList和LinkedList占比较多的内存空间
线程不安全(需通过Collections.synchronizedList方法设置)
- Map
http://www.blogjava.net/xmatthew/archive/2008/10/25/236581.html
分享到:
相关推荐
Java 集合排序 及java集合类 详解.pdf
set list ArrayList等java集合类详述
第13讲 JAVA集合类.ppt第13讲 JAVA集合类.ppt第13讲 JAVA集合类.ppt第13讲 JAVA集合类.ppt第13讲 JAVA集合类.ppt
一张图让你看清Java集合类 所有精华 集于一图 一目了然 形象易懂 十分中肯 绝对干货!
java集合类学习笔记.doc 学习java集合时留下的宝贵知识
java集合类类性能测试源代码
java集合类java集合类java集合类java集合类java集合类java集合类java集合类java集合类java集合类java集合类
大公司最喜欢问的Java集合类面试题,找工作有帮助
java的各种集合类的总结,以及实例讲解。
Java 集合排序及java 集合类详解 Java 集合排序及java 集合类详解,Java里面最重要、最常用也就是集合那部分了,能够用好集合和理解好集合对于做Java程序的开发拥有无比的好处。本教程详细解释了关于Java中的集合是...
Java集合排序及java集合类详解,对list,set,map等java集合进行详细讲解
Java集合类,在图片上体现出来,为了更好的描述,本来是博客里的,不好往博客里插,所以单独弄出来了。
集合类的框架为集合的实现者提供了大量的接口和抽象类,并对其中的某些机制给予了描述,例如,Iterator(迭代协议)。实现Comparable接口或Comparator接口,用户可以根据需要对集合中的元素进行排序。为了方便用户...
java集合类线程安全 写的不错,短小精悍,值得一读
Java集合类性能分析 Collection List Map Set
Java集合类层次结构Java集合类层次结构Java集合类层次结构Java集合类层次结构Java集合类层次结构Java集合类层次结构
java集合类面试题总结
今天在网上搜索了一下,发现一篇关于java集合的博文,里面整理得非常好, 特意copy过来和大家分享一下