Java 集合框架

核心集合接口封装不同类型的集合,这在下面的图中所示的。这些接口允许独立于其表示的细节来操纵集合。核心集合接口是Java集合框架的基础。正如你可以看到如下图所示,核心集合接口形成一个层次。

两个接口树,一个以集开头,包括套装,SortedSet的,列表和队列,另一个以地图开头,包括SortedMap的。

 

核心集合接口。

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

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

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

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

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

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

  • Collection - 集合层次结构的根。集合表示一组称为其元素的对象。该Collection接口是所有集合实现,集用合和来传递周围最大时,通用需要操纵它们的最小公分母。某些类型的集合允许重复元素,而其他类型则不允许。有些是订购的,有些则是无序的。Java平台不提供此接口的任何直接实现,但提供更具体的子接口的实现,例如SetList。另请参阅 “集合接口”部分。
  • Set - 不能包含重复元素的集合。该界面对数学集抽象进行建模,并用于表示集合,例如包含扑克牌的牌,构成学生日程的课程或在机器上运行的过程。另请参见 “设置接口”部分。
  • List- 有序集合(有时称为序列)。Lists可以包含重复的元素。List一般用户可以精确控制列表中每个元素的插入位置,并可以通过整数索引(位置)访问元素。如果你已经习惯了Vector,你就会熟悉它的一般风味List。另请参阅 列表接口部分。
  • Queue - 用于在处理之前保存多个元素的集合。除基本Collection操作外,Queue还提供额外的插入,提取和检查操作。

    队列通常(但不一定)以FIFO(先进先出)方式对元素进行排序。除了优先级队列之外,优先级队列根据提供的比较器或元素的自然顺序对元素进行排序。无论使用什么顺序,队列的头部是通过调用remove或删除的元素poll。在FIFO队列中,所有新元素都插入队列的尾部。其他类型的队列可能使用不同的放置规则。每个Queue实现都必须指定其排序属性。另请参阅 队列接口部分。

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

    Deques可用作FIFO(先进先出)和LIFO(后进先出)。在双端队列中,可以在两端插入,检索和删除所有新元素。另请参阅 Deque接口部分。

  • Map - 将键映射到值的对象。A Map不能包含重复键; 每个键最多可以映射一个值。如果您已经使用过Hashtable,那么您已经熟悉了它的基础知识Map
  • SortedSetSet按升序维护其元素的a 。提供了几个额外的操作以利用订购。排序集用于自然排序的集合,例如单词列表和成员资格卷。另请参阅 SortedSet接口部分。
  • SortedMapMap按升序键维护其映射的a 。这是Map类比的SortedSet。排序映射用于自然排序的键/值对集合,例如字典和电话目录。
  •  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值