1.Set 示例
假设我们想要存储一组不重复的学生姓名。
import java.util.HashSet;
import java.util.Set;
public class SetExample {
public static void main(String[] args) {
Set<String> students = new HashSet<>();
students.add("Alice");
students.add("Bob");
students.add("Charlie");
students.add("Alice"); // 重复项,不会添加到集合中
System.out.println("学生名单: " + students);
}
}
在这个例子中,HashSet
被用来存储学生姓名,自动去除重复项。
set遍历
Set
是一个不允许重复元素的集合。要遍历 Set
,可以使用增强型 for 循环或迭代器。
Set<String> set = new HashSet<>();
set.add("element1");
set.add("element2");
// 使用增强型 for 循环
for (String element : set) {
System.out.println(element);
}
// 使用迭代器
Iterator<String> iterator = set.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
2.List 示例
假设我们想要维护一个按顺序排列的购物清单,并且可能需要重复项。
import java.util.ArrayList;
import java.util.List;
public class ListExample {
public static void main(String[] args) {
List<String> shoppingList = new ArrayList<>();
shoppingList.add("苹果");
shoppingList.add("香蕉");
shoppingList.add("苹果"); // 可以添加重复项
shoppingList.add("橙子");
System.out.println("购物清单: " + shoppingList);
}
}
在这个例子中,ArrayList
被用来存储购物清单,保持了元素的插入顺序,并且允许重复项。
遍历
Map
是键值对的集合,可以遍历键、值或键值对。Map
提供了几种不同的遍历方式。
Map<String, Integer> map = new HashMap<>();
map.put("one", 1);
map.put("two", 2);
// 遍历键
for (String key : map.keySet()) {
System.out.println(key);
}
// 遍历值
for (Integer value : map.values()) {
System.out.println(value);
}
// 遍历键值对
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + " : " + entry.getValue());
}
3.Map 示例
假设我们想要存储一个班级的学生及其对应的成绩。
import java.util.HashMap;
import java.util.Map;
public class MapExample {
public static void main(String[] args) {
Map<String, Integer> studentGrades = new HashMap<>();
studentGrades.put("Alice", 92);
studentGrades.put("Bob", 85);
studentGrades.put("Charlie", 88);
System.out.println("Alice的成绩: " + studentGrades.get("Alice"));
System.out.println("Bob的成绩: " + studentGrades.get("Bob"));
System.out.println("Charlie的成绩: " + studentGrades.get("Charlie"));
// 更新成绩
studentGrades.put("Alice", 95);
System.out.println("Alice的更新后成绩: " + studentGrades.get("Alice"));
}
}
在这个例子中,HashMap
被用来存储学生姓名和对应的成绩。每个学生姓名(键)映射到一个成绩(值)。
遍历
List
是一个有序的集合,允许重复元素。要遍历 List
,可以使用增强型 for 循环或传统的 for 循环。
List<String> list = new ArrayList<>();
list.add("element1");
list.add("element2");
// 使用增强型 for 循环
for (String element : list) {
System.out.println(element);
}
// 使用传统的 for 循环
for (int i = 0; i < list.size(); i++) {
System.out.println(list.get(i));
}
总结
Set
适合存储不重复的元素集合,如不重复的学生名单。List
适合存储有序的元素集合,可能包含重复项,如购物清单。Map
适合存储键值对集合,通过键快速查找值,如学生的成绩记录。