黑马程序员技术交流社区

标题: 什么时候用哪种集合啊?ArrayList ,LinkedList ,vector,hashset... [打印本页]

作者: 暗羽部落    时间: 2015-4-5 23:59
标题: 什么时候用哪种集合啊?ArrayList ,LinkedList ,vector,hashset...
什么时候用哪种集合啊?ArrayList ,LinkedList ,vector,hashset,treeset,hashmap,treemap。求大神详解。每个里面都有什么方法!!什么时候用

作者: P李勇    时间: 2015-4-6 00:45
看需求。
       
        是否是键值对象形式:
                是:用Map
                        键是否需要排序:
                                是:TreeMap
                                否:HashMap
                        不知道要求,就使用HashMap。
                       
                否:Collection
                        元素是否唯一:
                                是:Set
                                        元素是否需要排序:
                                                是:TreeSet
                                                否:HashSet
                                        不知道,就使用HashSet
                                       
                                否:List
                                        要安全吗:
                                                是:Vector(其实不用它)
                                                否:ArrayList或者LinkedList
                                                        增删多:LinkedList
                                                        查询多:ArrayList
                                                不知道,就使用ArrayList
                        不知道,就使用ArrayList
作者: 关山明月    时间: 2015-4-6 00:50
楼上总结得很到位!!!
作者: 57xiaoyu    时间: 2015-4-6 01:37
P李勇 发表于 2015-4-6 00:45
看需求。
       
        是否是键值对象形式:

赞一个!
作者: liyanghml    时间: 2015-4-6 01:57
P李勇 发表于 2015-4-6 00:45
看需求。
       
        是否是键值对象形式:

这样看起来,明了多了:lol  
作者: natsu647    时间: 2015-4-6 14:20
不错,总结得比我自己想象的还好。
作者: 暗羽部落    时间: 2015-4-9 22:50
P李勇 发表于 2015-4-6 00:45
看需求。
       
        是否是键值对象形式:

给力啊!!hashmap也可以排序,要重写hashcode和equals方法就可以了~
作者: 小栀子    时间: 2015-4-9 22:52
一楼太赞,看的我都很清楚
作者: cody    时间: 2015-4-9 23:10
表示还没学到线程,进度有点慢
作者: Sylvanas    时间: 2015-4-10 14:19
Arraylist:建立于数组上的List,长于随机访问,短于中间插入删除




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2