5分钟课堂:Java集合框架
集合框架(Collections Frameworks)是Java 平台提F供的表示和操作集合的统一架构。
集合框架包含以下3 个部分。
(1)集合接口用于表示集合的抽象数据类型,允许集合操作独立于实现细节。接口多用于方法的参数类型。
(2)集合实现实现了对应集合接口的具体类,本质上是可重用的数据结构。 实现类可以创建具体的对象。
(3)集合算法算法是对实现了集合接口的对象执行具体计算(如查找、排序等)的方法。同一个方法可以用于相关集合接口的不同实现。这些方法可以看成是工具方法,一般都是static 方法,可以用类名直接调用。本质上,算法是可重用的功能。
Java中集合的接口和类都是泛型类型(参考 ),而算法大多是泛型方法(参考 )。
Java 集合框架中的核心集合接口中封装了不同的集合类型,允许集合的操作独立于集合的具体实现。
核心接口是Java 集合框架的基础,Java 集合框架中的核心接口主要包括:Collection、Set、List、Queue、Deque、SortedSet 和Map、SortedMap 等接口。
核心集合接口包含两个独立的继承树,集合(Collection)子树和映射(Map)子树。集(Set)是一种不包含重复元素的集合(Collection),而有序集(SortedSet)则是包含有序元素的集(Set)。
所有的核心集合接口都是泛型接口。在创建集合实例时,必须指定具体元素类型。
Java集合框架种主要的集合核心接口及部分实现类如图所示。
Collection接口继承与实现
Map接口继承与实现
集合实现是用于存储集合的数据对象,其类定义实现了对应的集合接口。Java 集合框架提供的通用功能实现类实现了Set,List 和Map 等接口,这些具体实现类可以满足大多数应用的需要。
集合框架通用功能实现类
Java 集合框架提供了集合的排序、置换、常规数据操作、查找、组合等算法。这些算法都是多态算法,提供可重用的功能,并且,全部使用静态方法,方法的第一个参数为操作执行的集合。大多数算法都是针对List 对象,也有部分是操作Collection 对象。
例如,在工具类Collections中提供的算法有:
(1)根据元素的自然顺序对指定列表元素按升序进行排序public static <T extends Comparable<? super T>> void sort(List<T> list);
(2)使用默认随机源对指定列表打乱元素的位置public static void shuffle(List<?> list);
(3)使用二分搜索法搜索列表中的指定对象public static <T> int binarySearch(List<? extends Comparable<? super T>> list,T key);
下面例子以List的元素操作为例,实现了ArrayList<String>对象的创建、加入元素、排序和查找等操作。其中,排序还使用了自定义的逆序比较器进行了逆序的排序,并进行了对应的查找操作。
运行结果如下:
理解java的集合框架看看这几张图就够了
java集合是最基础也是最核心的底层之一了,我们平时用的java集合也就2、3种,其实在某些特定的场合,
每一种集合有他特有的用处,我们应该了解每一种集合的特点,要系统的了解每一种集合,就必须对java的整个集合做一个系统的梳理,
搞清楚他们之间的关系,这里整理了下集合的框架图
collection集合框架
collection集合相关
map框架
map
collection和map的关系
collection和map其实没有什么继承关系,
不过map可以生成collection,collection又可以转换为Iterator迭代器
总结
collection属于单列集合的超级接口,由它衍生出list、set、queue三大类集合及其子类
map属于双列集合,主要衍生出abstracthmap、sortedmap、hashtable相关的类及其子类
map可以生成collection,collection又可以转换为Iterator迭代器
学习集合相关框架,只要对照下面的框架图,研究就可以了,相互之间的关系一目了然
集合中每个类有自己的特有的地方,可以用于不同的场景,下图给出了每个类各自的特点
本文作者及来源:Renderbus瑞云渲染农场https://www.renderbus.com
文章为作者独立观点不代本网立场,未经允许不得转载。