Java Collections教程
Java Collections API为Java开发人员提供了一组类和接口,这些类和接口使处理对象集合(例如Java对象)更容易。列表,地图,堆栈等
Java不必编写自己的收集类,而是为我们提供了这些现成的收集类。本教程将仔细研究有时也被称为Java集合的Java集合,尤其是Java 8及更高版本中可用的Java集合。
本教程的目的是向我们概述Java Collection类。因此,它不会描述Java Collection类的每个细节。但是,一旦了解了其中的内容,以后再阅读JavaDoc中的其余内容就容易得多。
Java Collection核心类和接口
Java Collection API的核心接口是:
- Java集合(Collection)
- Java列表(List)
- Java集(Set)
- Java SortedSet
- Java navigableSet
- Java映射(Map)
- Java SortedMap
- Java NavigableMap
- Java堆栈(Stack)
- Java队列(Queue)
- Java双端队列(Deque)
- Java迭代器(Iterator)
- Java可迭代(Iterable)
这些核心接口中的大多数在它们自己的教程中都有更详细的说明,但是我将在以下各节中为我们提供快速介绍。
Java Collections API还包含上述接口的有用实现以及其他一些实用程序类。其中一些是:
- Collections
- Properties
Java集合
Java集合接口表示对通用集合(如列表,集合,堆栈,队列和双端队列)的可能操作。例如,可以在Java Collection接口中使用基于元素索引来访问元素的方法。 Java Collection接口教程中将更详细地说明Java Collection接口。
Java列表
Java List接口表示对象的有序集合。通过有序方式,我们可以按元素在列表中出现的顺序来访问它们。在Java List Interface教程中将更详细地说明List接口。
Java集
Java Set接口表示对象的无序集合。与列表不同,集合不允许我们以任何保证的顺序访问集合的元素。有一些Set实现,它们根据元素的自然顺序对其进行排序,但是Set接口本身不提供此类保证。 Set接口在Java Set教程中有更详细的说明。
Java SortedSet
Java SortedSet接口表示对象的有序集合。因此,可以按排序顺序对SortedSet中的元素进行迭代。 Java SortedSet教程中更详细地说明了SortedSet接口。
Java NavigableSet
Java NavigableSet接口是SortedSet接口的扩展,其中包含用于导航NavigableSet中的元素的其他方法。 Java NavigableSet教程中更详细地说明了SortedSet接口。
Java映射
Java Map接口表示键和值集之间的映射。键和值都是对象。我们将一个键+值对插入到Map中,以后可以通过该键检索该值,这意味着我们只需要该键就可以稍后再次从Map中读取该值。 Java Map教程中对Map接口进行了更详细的说明。
Java SortedMap
Java SortedMap接口是Map接口的扩展,表示对Map中的键进行排序的Map。因此,我们可以按已排序的顺序来迭代存储在SortedMap中的键,而不是按照普通Map来迭代它们的随机顺序。 Java SortedMap教程中更详细地说明了SortedMap接口。
Java NavigableMap
Java NavigableMap接口是SortedMap接口的扩展,其中包含用于轻松导航NavigableMap中的键和条目的其他方法。 Java NavigableMap教程中将详细解释NavigableMap接口。
Java堆栈
Java Stack类表示经典的堆栈数据结构,其中的元素可以推入堆栈的顶部,然后稍后再从堆栈的顶部弹出。 Java Stack教程中更详细地说明了Stack接口。
Java队列
Java Queue接口表示经典的队列数据结构,其中将对象插入队列的一端,然后从队列的另一端移出队列。这与我们使用堆栈的方式相反。 Java队列教程中对Queue接口进行了更详细的说明。
Java双端队列
Java Deque接口表示一个双头队列,表示一个数据结构,我们可以其中插入和删除队列两端的元素。我猜我们也可以将其称为双头堆栈。 Java Deque教程中对deque接口进行了更详细的说明。
Java迭代器
Java Iterator接口表示一个能够迭代某种Java集合的组件。例如,列表或者集合。我们可以从Java Set,List,Map等获取Iterator实例。
Java可迭代
Java Iterable接口在职责上与Java Iterator接口非常相似。 Iterable接口允许使用Java中的for-each循环来迭代Java Collection。在有关Java Iterable接口教程的教程中,更详细地说明了Java Iterable接口。 Java Iterable接口实际上并不是Java Collection API的一部分,但是它与Java Collection API经常使用,因此我将该教程包括在Java Collection教程中。我的Java for Loop教程中介绍了for-each循环。
Java Collections类
Java Collections类包含一系列实用程序方法,可更有效地使用Java Collections API。
Java属性
Java Properties类是类似于Java Map的特殊键值存储,但专门针对保留字符串-字符串键值对,并能够从属性文件加载和存储属性。
Java集合包
大多数Java集合位于java.util
包中。 Java在java.util.concurrent
包中还有一组并发集合。本教程将不会描述并发集合。这些在我的Java util并发教程中进行了描述。
Java集合概述
为了大致了解Java Collections类和接口,本Java Collections教程的第一文本是Java Collections Overview文本。
Java集合和泛型
本Java Collections教程的第五篇文章介绍了如何在Java Collections中使用泛型。使用Java的Collection类时,泛型非常有用。我们可以在Java Generic Collections中找到该教程。
我的Java泛型教程中对Java泛型进行了更详细的说明。
Java集合以及equals()和hashCode()方法
Java Collection API中的许多核心组件都依赖于hashCode()和equals()方法的正确实现。 Java hashCode和equals方法教程介绍了这些方法的工作方式,以及为什么它们对核心Java集合组件至关重要。