java集合框架

集合框架定义:集合框架是一个用来代表和操纵集合的统一架构。

集合框架结构图如下:

图中最顶层包括(从左向右):迭代器、集合以及图。

集合框架一般包含:接口、实现、算法。

接口用于定义框架的结构和抽象数据类型,多接口可以实现以不同的方式操作集合对象。

实现:一个接口有多个实现类,本质上为可复用的数据结构。不同的实现类根据不同的场景而使用。

算法:是实现集合接口的对象里的方法执行的一些有用的计算。例如搜索和排序等方法,用于提高框架的性能,方法为多态,可进行复用。

Map不是集合,但是也包含在集合之中。

集合框架中的接口描述:

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

List 接口有序的Collection接口。List 接口存储一组不唯一,有序(插入顺序)的对象。

Set接口:Set 接口存储一组唯一,无序的对象。

SortedSet继承于Set保存有序的集合。

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

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

SortedMap继承于 Map,使 Key 保持在升序排列。

Enumeration:这是一个传统的接口和定义的方法,通过它可以枚举(一次获得一个)对象集合中的元素。这个传统接口已被迭代器取代。

注意:

由于collection是一个接口,无法直接用于创建对象。

Collection下面有诸多子类继承或实现了其接口,故在创建对象时可以调用子类或实现类的构造方法。(类似于上转型)

List是collection的一个子类,其本身也为接口类型,无法用于创建对象。

List的实现类有:

(1)ArrayList(),该类是线程不安全类,其本身类是一个动态数组,取值操作很快,但是扩容时效率会下降。其并非可以无限增容,最大容量应为Integer的最大值。其中的排序算法sort源于Array中的TimSort二分归并排序方法。

(2)LinkedList(),该类也是线程不安全类,利用内部类Node为数据单元的双向链表。其具有读效率低,写效率高,操作效率高等特性,适合用于频繁add,remove等操作的List,同时可以节省一定的内存,在clear的情况下推荐使用GC回收,并且没有最大长度限制。

其最大的优势是删除时只需要做节点的移动,十分方便。

  1. stack。最后一种为栈。

总结:

Java集合框架为程序员提供了预先包装的数据结构和算法来操纵他们。

集合是一个对象,可容纳其他对象的引用。集合接口声明对每一种类型的集合可以执行的操作。

集合框架的类和接口均在java.util包中。

任何对象加入集合类后,自动转变为Object类型,所以在取出的时候,需要进行强制类型转换。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值