Java中的集合类有哪些?如何分类的?

2025-10-12 00:49:32 避难所建设

Java中的集合类有哪些?如何分类的?

1. Java集合类的分类

Java中的集合类主要分为两大类:集合(Collection) 和 映射(Map) 。

1.1 集合(Collection)

集合是单个对象的集合,可以存储多个元素。集合又可以进一步分为以下几种:

列表(List) :有序集合,可以包含重复的元素。常见的实现类有 ArrayList、LinkedList 等。

集合(Set) :不允许重复的集合。常见的实现类有 HashSet、LinkedHashSet、TreeSet 等。

队列(Queue) :用于存储和检索元素的集合,通常按照先进先出(FIFO)的顺序。常见的实现类有 LinkedList、PriorityQueue 等。

1.2 映射(Map)

映射是键值对的集合,每个键映射到一个值。常见的实现类有 HashMap、TreeMap、LinkedHashMap 等。

2. 实际场景与代码示例

2.1 列表(List)

假设我们要存储一个学生的课程列表,可以使用 ArrayList。

csharp

复制代码

import java.util.ArrayList;

import java.util.List;

public class ListExample {

public static void main(String[] args) {

List courses = new ArrayList<>();

courses.add("Java");

courses.add("Python");

courses.add("C++");

System.out.println("课程列表: " + courses);

System.out.println("第二门课程: " + courses.get(1)); // 输出 Python

}

}

2.2 集合(Set)

假设我们要存储一个班级的学生姓名,不允许重复,可以使用 HashSet。

java

复制代码

import java.util.HashSet;

import java.util.Set;

public class SetExample {

public static void main(String[] args) {

Set students = new HashSet<>();

students.add("Alice");

students.add("Bob");

students.add("Alice"); // 重复的元素不会被添加

System.out.println("学生集合: " + students);

}

}

2.3 队列(Queue)

假设我们要模拟一个打印任务队列,可以使用 LinkedList。

java

复制代码

import java.util.LinkedList;

import java.util.Queue;

public class QueueExample {

public static void main(String[] args) {

Queue printQueue = new LinkedList<>();

printQueue.add("Document1");

printQueue.add("Document2");

System.out.println("打印队列: " + printQueue);

System.out.println("打印任务: " + printQueue.poll()); // 输出 Document1

System.out.println("打印队列: " + printQueue);

}

}

2.4 映射(Map)

假设我们要存储学生的成绩,可以使用 HashMap。

java

复制代码

import java.util.HashMap;

import java.util.Map;

public class MapExample {

public static void main(String[] args) {

Map scores = new HashMap<>();

scores.put("Alice", 90);

scores.put("Bob", 85);

System.out.println("成绩表: " + scores);

System.out.println("Alice的成绩: " + scores.get("Alice")); // 输出 90

}

}

3. 总结

列表(List) :有序,可以重复。

集合(Set) :无序,不允许重复。

队列(Queue) :先进先出。

映射(Map) :键值对,键唯一。

最新发表
友情链接