加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 站长资讯 > 外闻 > 正文

集合框架大总结

发布时间:2021-04-28 11:56:02 所属栏目:外闻 来源:互联网
导读:上面的集合框架图可以看到:Java集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合;另一种是图(Map),存储键/值对映射。Collection接口又有两个子接口,List和Set,再下面是一些抽象类,最后是具体实现类,常用的有ArrayList、Link

上面的集合框架图可以看到:Java集合框架主要包括两种类型的容器,一种是集合(Collection),存储一个元素集合;另一种是图(Map),存储键/值对映射。Collection接口又有两个子接口,List和Set,再下面是一些抽象类,最后是具体实现类,常用的有ArrayList、LinkedList、HashSet、LinkedHashSet、HashMap、LinkedHashMap等等。

集合框架是一个用来代表和操纵集合的统一框架。所有的集合框架都包含如下内容:

接口:是代表集合的抽象数据类型。例如:Collection、List、Set、Map等。之所以定义多个接口,是为了以不同的方式操作集合对象。

实现(类):是集合接口的具体实现。从本质上讲,它们是可重复使用的数据结构,例如:ArrayList、LinkedList、HashSet、HashMap。

除了集合,该框架也定义了几个Map接口和类。Map里存储的是键/值对。尽管Map不是集合,但是它们完全整合在集合中。Java集合框架提供了一套性能优良,使用方便的接口和类,Java集合框架位于java.util包中,所以当使用集合框架的时候需要进行导包。

一、集合接口:

1.Collection

Collection是最基本的集合接口,一个Collection代表一组Object,即Collection的元素,Java不提供直接继承自Collection的类,只提供继承于Collection的子接口(如List和Set),Collection接口存储一组不唯一,没有顺序的对象。

2.List

List接口是一个有顺序的Collection,使用此接口能够精确地控制每个元素插入的位置,能够通过索引(元素在List中的位置,类似于数组的下标)来访问List 中的元素,第一个元素的索引为0,而且允许有相同的元素。List接口存储一组不唯一,有序(插入顺序)的对象。

3.Set

Set具有与List完全一样的接口,只是行为上不同,Set不保存重复的元素。Set接口存储一组唯一,无序的对象。

4.Map

Map接口存储一组键值对对象,提供key(键)到value(值)的映射。

5.Map.Entry

Map.Entry描述在一个Map中的一个元素(键/值对),是一个Map的内部接口。

二、Set和List的区别:

1.Set接口实例存储的是无序的,不重复的数据。List接口实例存储的是有序的,可以重复的元素。

2.Set检索效率低下,删除和插入效率高,插入和删除不会引起元素位置的改变,实现类有HashSet,TreeSet。

3.List和数组类似,可以动态增长,根据实际存储的数据的长度自动增长List的长度。查找元素效率高,插入删除效率低,因为会引起其他元素位置改变,实现类有ArrayList,LinkedList,Vector。

三、集合实现类

1.AbstractCollection:实现了大部分的集合接口。

2.AbstractList:继承于AbstractCollection并且实现了大部分List接口。

3.LinkedList:该类实现了List接口,允许有null元素。主要用于创建链表数据结构,LinkedList查找效率低。

4.ArrayList:该类也是实现了List的接口,实现了可变大小的数组,随机访问和遍历元素时,提供更好地性能。

5.AbstractSet:继承于AbstractCollection并且实现了大部分Set接口。

6.HashSet:该类实现了Set接口,不允许出现重复元素,不保证集合中元素的顺序,允许包含值为null的元素,但最多只能有一个。

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读