Java的集合框架提供了一组接口和类来实现各种数据结构和算法。
例如,集合框架的LinkedList
类提供了双向链表数据结构的实现。
集合框架的接口
Java集合框架提供了各种接口。这些接口包含执行集合上不同操作的多种方法。
我们将在后面的章节中详细学习这些接口、它们的子接口以及各种类的实现。在本教程中,让我们简要了解常用的接口。
Java Collection 接口
Collection
接口是集合框架层次结构的根接口。
Java不提供Collection
接口的直接实现,但提供其子接口如List
、Set
和Queue
的实现。要了解更多,请访问:Java Collection Interface
Collections Framework Vs. Collection Interface
人们经常混淆集合框架和Collection
接口。
Collection
接口是集合框架的根接口。该框架还包括其他接口:Map
和Iterator
。这些接口也可能有子接口。
Collection接口的子接口
如前所述,Collection
接口包含由Java类实现的子接口。
Collection
接口的所有方法也存在于其子接口中。
以下是Collection
接口的子接口
List Interface
List
接口是一个有序集合,它允许我们像数组一样添加和删除元素。要了解更多,请访问Java List Interface
Set Interface
Set
接口允许我们将元素存储在不同的集合中,类似于数学中的集合。它不能包含重复元素。要了解更多,请访问Java Set Interface
Queue Interface
当我们希望以先进先出的方式存储和访问元素时,使用Queue
接口。要了解更多,请访问Java Queue Interface
Java Map 接口
在Java中,Map
接口允许元素以键/值对的形式存储。键是唯一的名称,可用于在映射中访问特定元素。并且,每个键都有一个与之关联的单个值。要了解更多,请访问Java Map Interface
Java Iterator 接口
在Java中,Iterator
接口提供了可用于访问集合元素的方法。要了解更多,请访问Java Iterator Interface
为什么需要Collections Framework?
Java集合框架提供了各种可以直接使用的数据结构和算法。这有两个主要优点:
- 我们不必编写代码来手动实现这些数据结构和算法。
- 我们的代码将更有效,因为集合框架经过高度优化。
此外,集合框架允许我们为特定类型的数据使用特定的数据结构。以下是一些例子:
- 如果我们希望我们的数据是唯一的,那么我们可以使用集合框架提供的
Set
接口。 - 要以键/值对的形式存储数据,我们可以使用
Map
接口。 ArrayList
类提供了可调整大小的数组的功能。
示例:集合的ArrayList类
在结束本教程之前,让我们以集合框架的ArrayList类为例。
ArrayList
类允许我们创建可调整大小的数组。该类实现了List
接口(它是Collection
接口的子接口)。
// The Collections framework is defined in the java.util package
import java.util.ArrayList;
class Main {
public static void main(String[] args){
ArrayList<String> animals = new ArrayList<>();
// Add elements
animals.add("Dog");
animals.add("Cat");
animals.add("Horse");
System.out.println("ArrayList: " + animals);
}
}
输出:
ArrayList: [Dog, Cat, Horse]
在后续的教程中,我们将通过示例详细学习集合框架(及其接口和类)。