关于集合

来源:互联网 发布:俯瞰风景 知乎 编辑:程序博客网 时间:2024/05/21 10:20

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

 

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

 

-------------------------------------------------------------------------------------------------------------------------

List和Set继承自Collection接口。
 Set不允许元素重复。HashSet和TreeSet是两个主要的实现类。
 List有序且允许元素重复。ArrayList、LinkedList和Vector是三个主要的实现类。
 Map也属于集合系统,但和Collection接口不同。Map是key对value的映射集合,其中key列就是一个集合。key不能重复,但是value可以重复。HashMap、TreeMap和Hashtable是三个主要的实现类。 SortedSet和SortedMap接口对元素按指定规则排序,SortedMap是对key列进行排序。

Vector和HashTable是线程同步的(synchronized)。

ArrayList和HashMap不是线程同步的,因此性能比Vector和Hashtable要好。

 

List:

只对数据进行访问的建议使用ArrayList

如果做很多的插入删除操作的建议使用LinkedList

 

 

Map:

HashMap看重访问速度。

TreeMap看重键的顺序

LinkedHashMap按照顺序插入

 

Set:

HashSet提供最快的查询速度

TreeSet保持元素有序

LinkedHashSet保持元素插入顺序

 

基于ArrayListVectorArrayList)适合查询,而LinkedList(链表)适合添加,删除操作

List基本上都是以Array为基础。但是Set则是在HashMap的基础上来实现的,这个就是SetList的根本区别

HashSet的存储方式是把HashMap中的Key作为Set的对应存储项

 

 

 

 

Comparable

调用java.util.Collections.sort(List list)方法来进行排序的时候,List内的Object都必须实现了Comparable接口。

Comparator

java.util.Collections.sort(List list,Comparator c),可以临时声明一个Comparator 来实现排序。