集合框架

来源:互联网 发布:合肥特莱依网络怎么样 编辑:程序博客网 时间:2024/05/16 05:21

                                                                                                                               集合类概述 

首先Collection接口是层次结构中的根接口。构成Collection的单位称为元素。Collection接口通常不能直接使用,但该接口提供了添加元素,删除元素,管理数据的方法。(俗称增删改查),由于List接口与Set接口都继承了Collection接口,因此这些方法对List和set集合是通用的。

常用集合类的继承关系图


         

Collection接口的常用方法


List集合

    List集合包括List接口以及List接口中的所有实现类。List集合中的元素允许重复,各元素的顺序就是插入对象的顺序。类似JAVA数组,可通过索引((index)即元素在集合中的位置)来访问集合中的元素。

  List接口继承了Collection接口,因此包含Collection中的所有方法,此外List接口还定义了以下非常重用的方法。

① get(int index): 获取指定索引位置的元素。

② set(int index , Object obj): 将集合中指定索引位置的对象修改为指定对象。

List集合的实现类

List 接口的常用实现类有ArrayList 和LinkedList。

ArrayList实现了可变的数组,允许保存所有的元素,包括null,并可以根据索引位置对结婚进行快速的随机访问;缺点是指定索引位置插入对象或删除对象的速度较慢。

LinkedList类采用链表保存对象。这种结构的优点是便于向集合中插入和删除对象,需要向集合中插入 删除对象时,使用LinkedList类实现的List集合效率较高;但对于随机访问集合中的对象,使用LinkedList实现List集合的效率较高。

使用List集合时通常声明为List类型,可通过不同的实现类来实例化集合。

分别通过ArrayList,LinkedList实例化List集合,代码如下:

List <E> list = new ArrayList<>();

List<E> list1 = new LinkedList<>();

Set集合

Set集合中的对象不按照特定的方式排序,只是简单的把对象放入集合中,但set集合中不能包含重复对象。Set集合由Set接口和Set实现类组成。Set接口继承了Collection接口,因此包含Collection接口的所有方法

Set接口常用的实现类有HashSet类和TreeSet类

HashSet类实现Set接口,由哈希表(HashMap的实例)支持。它不保证Set的迭代顺序,特别是它不保证改顺序恒久不变。此类允许使用null元素。

TreeSet类不仅实现了Set接口,还实现了java.util.SortedSet接口,因此,TreeSet类实习那的Set集合在遍历集合时按照自然顺序递增排序,也可以按照指定比较器递增排序,

即可通过比较器TreeSet类实现的Set集合中的对象进行排序。TreeSet新增的方法如下

TreeSet类增加的方法





Map集合

Map集合没有继承Collection接口,其提供的是key到value的映射。Map中不能包含相同的key,每个key只能对应相应value.。key还决定了存储对象在映射中的存储位置,但不是由key对象决定的,而是通过一种"散列技术"进行处理,产生一散列码的整数值,散列码通常用作一个偏移量,该偏移量对应分配给映射的内存区域的其实位置,从而确定存储对象在映射的存储位置。Map集合包括Map接口的所有实现类。

Map接口

Map接口提供了将key映射到值的对象。一个映射不能包含重复的key,每个key做多只能映射到一个值。Map接口中同样提供了集合的常用方法,除此之外还包括下表所示。

                                       




 



           


0 0
原创粉丝点击