java集合框架

java集合框架,第1张

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

集合框架结构图如下:

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

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

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

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

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

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类型,所以在取出的时候,需要进行强制类型转换。

 

 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/800868.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-07
下一篇 2022-05-07

发表评论

登录后才能评论

评论列表(0条)

保存