我们在使用集合时应该使用哪个集合呢? 具体还是要看需求, 当然, Java中不只是有这几个, 还有一些没有给出, 具体情况具体分析吧, 仅给出一个小思路.
进行集合的选择:
- 是否是键值对象形式:
- 一、是:Map
- 1、键是否需要排序:
- (1)是:TreeMap
- (2)否:HashMap
- 2、不知道,就使用HashMap。
- 1、键是否需要排序:
- 二、否:Collection
- 1、元素是否唯一:
- (1)是:Set
-
<1>元素是否需要排序:
* 是:TreeSet
* 否:HashSet - <2>不知道,就使用HashSet
- (2)否:List
- 要安全吗:
- <1>是:Vector(其实我们也不用它,后面我们讲解了多线程以后,我在给你回顾用谁)
-
<2>否:ArrayList或者LinkedList
* 增删多:LinkedList
* 查询多:ArrayList - <3>不知道,就使用ArrayList
- 2、不知道,就使用ArrayList
- 1、元素是否唯一:
- 一、是:Map