您的位置:首页 > 编程语言 > Java开发

javaSE_8系列博客——集合——集合的接口(1)——概述

2017-06-28 09:57 267 查看
核心集合接口封装了不同类型的集合,如下图所示。这些接口允许集合被独立于其表示的细节而被操纵。核心集合接口是Java Collections Framework的基础。如下图所示,核心集合接口形成层次结构。



Set是一种特殊的集合,一个SortedSet是一种特殊的集合,等等。还要注意,层次结构由两个不同的树组成 - 一个Map不是一个真正的集合。

请注意,所有核心集合接口都是通用的。例如,这是Collection接口的声明。

public interface Collection<E>...


语法告诉您该接口是通用的。当您声明一个Collection实例时,您可以并且应该指定集合中包含的对象的类型。指定类型允许编译器验证(在编译时)您放入集合的对象类型是否正确,从而在运行时减少错误。有关泛型类型的信息,请参阅泛型(更新)课程。

当您了解如何使用这些接口时,您将了解Java Collections Framework的大部分内容。本章讨论有效使用接口的一般准则,包括什么时候使用哪个接口。您还将学习每个接口的编程习语,以帮助您充分利用它。

为了保持核心集合接口的数量可以管理,Java平台不会为每个集合类型的每个变体提供单独的接口。 (这些变体可能包括不可变的,固定大小的和仅附加的)。而是将每个接口中的修改操作指定为可选的 - 给定的实现可以选择不支持所有的操作。如果调用不受支持的操作,则集合会抛出UnsupportedOperationException异常。实施负责记录他们支持哪些可选操作。所有Java平台的通用实现都支持所有可选操作。

以下列表描述了核心集合接口:

**Collection:**Collection是所有集合实现的最常用的标准,它被用来传递集合,并在需要最大的通用性时操作它们。某些类型的集合允许重复的元素,而其他的则不会。有些是顺序的,其他的是无序的。 Java平台不提供此接口的任何直接实现,而是提供更具体的子接口的实现,例如Set和List。另请参阅集合接口部分。

Set:一个不能包含重复元素的集合。该接口模拟数学集抽象,并用于表示集合,例如包括扑克牌的卡,构成学生计划的课程或在机器上运行的进程。

List:有序集合(有时称为序列)。列表可以包含重复元素。列表的用户通常对列表中的每个元素插入的位置进行精确控制,并且可以通过其整数索引(位置)访问元素。如果你使用Vector,你就会熟悉List的一般风格。

Queue:用于在处理之前保存多个元素的集合。除了基本的集合操作之外,Queue还提供了额外的插入,提取和检查操作。个Queue实现必须指定其排序属性

队列通常是FIFO,但不一定是以FIFO(先进先出)方式排序元素。优先级队列中有优先队列,根据提供的比较器对元素进行排序或元素的自然排序。无论使用什么顺序,队列的头是通过调用删除或轮询将被删除的元素。在FIFO队列中,所有新元素都插入到队列尾部。其他类型的队列可能会使用不同的布局规则。每个Queue实现必须指定其排序属性

Deque:用于在处理之前保存多个元素的集合。除了基本的集合操作之外,Deque还提供了额外的插入,抽取和检查操作。

它可以用作FIFO(先进先出)和LIFO(先进先出)。在一个Deque中,所有新的元素可以插入,检索和删除在两端。

Map:将键映射到值的对象。Map不能包含重复的键 ; 每个键可以映射到最多一个值。如果您使用Hashtable,您已经熟悉Map的基础知识

最后两个核心集合接口只是Set和Map的排序版本:

SortedSet:一个以升序维护其元素的集合。提供了几个额外的操作来利用排序。排序集用于自然有序集,如单词列表和成员卷。

SortedMap:一个以升序关键顺序维护其映射的Map。这是SortedSet的Map模拟。排序的Map用于键/值对的自然有序集合,例如字典和电话目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java se
相关文章推荐