Java Collections教程

时间:2020-01-09 14:11:09  来源:igfitidea点击:

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集合组件至关重要。