List, Set, Map 接口
概述
在 Java 中,List、Set 和 Map 是集合框架中的三个主要接口。它们分别用于不同的数据存储需求:
- List: 有序集合,允许重复元素。
- Set: 无序集合,不允许重复元素。
- Map: 键值对集合,键不允许重复。
List 接口
理论解释
List 接口继承自 Collection 接口,表示一个有序的元素集合。List 允许重复元素,并且可以通过索引访问元素。
代码示例
import java.util.ArrayList;
import java.util.List;
public class ListExample {
public static void main(String[] args) {
// 创建一个 ArrayList 实例
List<String> fruits = new ArrayList<>();
// 添加元素
fruits.add("Apple");
fruits.add("Banana");
fruits.add("Cherry");
// 访问元素
System.out.println("First fruit: " + fruits.get(0));
// 遍历 List
for (String fruit : fruits) {
System.out.println(fruit);
}
}
}
实践练习
- 创建一个
List存储整数,并尝试添加、删除和访问元素。 - 使用
for循环和Iterator遍历List。
Set 接口
理论解释
Set 接口也继承自 Collection 接口,表示一个无序的元素集合。Set 不允许重复元素。
代码示例
import java.util.HashSet;
import java.util.Set;
public class SetExample {
public static void main(String[] args) {
// 创建一个 HashSet 实例
Set<String> uniqueFruits = new HashSet<>();
// 添加元素
uniqueFruits.add("Apple");
uniqueFruits.add("Banana");
uniqueFruits.add("Cherry");
uniqueFruits.add("Apple"); // 重复元素不会被添加
// 遍历 Set
for (String fruit : uniqueFruits) {
System.out.println(fruit);
}
}
}
实践练习
- 创建一个
Set存储字符串,并尝试添加、删除和检查元素是否存在。 - 使用
for循环和Iterator遍历Set。
Map 接口
理论解释
Map 接口表示键值对的集合,每个键对应一个值。Map 不允许重复键,但允许键对应的值重复。
代码示例
import java.util.HashMap;
import java.util.Map;
public class MapExample {
public static void main(String[] args) {
// 创建一个 HashMap 实例
Map<String, Integer> fruitCount = new HashMap<>();
// 添加键值对
fruitCount.put("Apple", 5);
fruitCount.put("Banana", 3);
fruitCount.put("Cherry", 7);
// 访问值
System.out.println("Number of Apples: " + fruitCount.get("Apple"));
// 遍历 Map
for (Map.Entry<String, Integer> entry : fruitCount.entrySet()) {
System.out.println(entry.getKey() + ": " + entry.getValue());
}
}
}
实践练习
- 创建一个
Map存储学生姓名和对应的成绩,并尝试添加、删除和访问键值对。 - 使用
for循环和Iterator遍历Map。
总结
List、Set 和 Map 是 Java 集合框架中的三个核心接口,分别适用于不同的数据存储需求。通过本教程,你应该能够理解它们的区别,并能够在实际编程中使用它们。
下一步
接下来,我们将深入学习 ArrayList 和 LinkedList、HashSet 和 TreeSet、HashMap 和 TreeMap 等具体实现类,以及集合的排序和查找操作。