Java 学习系列(3):Java 集合框架详解
1. Java 集合框架概述
Java 集合框架(Java Collections Framework, JCF)提供了一组用于存储、操作和处理数据结构的类和接口,主要包括 List、Set、Map 三大核心接口。
Java 集合框架的优点:
- 提供了通用的数据结构实现,如数组、链表、哈希表等。
- 具备高效的算法,如排序、查找、遍历等。
- 统一 API 设计,增强代码的可读性和复用性。
2. List 接口(有序,可重复)
List 允许元素重复,并且元素存储有序,常见实现有 ArrayList 和 LinkedList。
2.1 ArrayList(动态数组实现,查询快,增删慢)
import java.util.ArrayList;
public class ArrayListExample {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
list.add("C++");
System.out.println("ArrayList: " + list);
}
}
2.2 LinkedList(链表实现,增删快,查询慢)
import java.util.LinkedList;
public class LinkedListExample {
public static void main(String[] args) {
LinkedList<Integer> list = new LinkedList<>();
list.add(10);
list.add(20);
list.addFirst(5); // 在头部插入元素
list.addLast(30); // 在尾部插入元素
System.out.println("LinkedList: " + list);
}
}
3. Set 接口(无序,不可重复)
Set 不能存储重复元素,常见实现有 HashSet、LinkedHashSet 和 TreeSet。
3.1 HashSet(无序,基于哈希表,查找速度快)
import java.util.HashSet;
public class HashSetExample {
public static void main(String[] args) {
HashSet<String> set = new HashSet<>();
set.add("Java");
set.add("Python");
set.add("Java"); // 重复元素不会被添加
System.out.println("HashSet: " + set);
}
}
3.2 TreeSet(有序,基于红黑树,排序存储)
import java.util.TreeSet;
public class TreeSetExample {
public static void main(String[] args) {
TreeSet<Integer> set = new TreeSet<>();
set.add(30);
set.add(10);
set.add(20);
System.out.println("TreeSet (升序): " + set);
}
}
4. Map 接口(键值对存储,Key 唯一)
Map 以 键值对(key-value) 形式存储数据,常见实现有 HashMap、LinkedHashMap 和 TreeMap。
4.1 HashMap(无序,查找速度快)
import java.util.HashMap;
public class HashMapExample {
public static void main(String[] args) {
HashMap<Integer, String> map = new HashMap<>();
map.put(1, "Java");
map.put(2, "Python");
map.put(3, "C++");
System.out.println("HashMap: " + map);
}
}
4.2 TreeMap(有序,基于红黑树)
import java.util.TreeMap;
public class TreeMapExample {
public static void main(String[] args) {
TreeMap<Integer, String> map = new TreeMap<>();
map.put(3, "C++");
map.put(1, "Java");
map.put(2, "Python");
System.out.println("TreeMap (升序 Key): " + map);
}
}
5. 遍历集合的几种方式
5.1 使用 for-each 遍历 List
ArrayList<String> list = new ArrayList<>();
list.add("Java");
list.add("Python");
for (String lang : list) {
System.out.println(lang);
}
5.2 使用 Iterator 遍历 Set
import java.util.HashSet;
import java.util.Iterator;
HashSet<Integer> set = new HashSet<>();
set.add(10);
set.add(20);
Iterator<Integer> it = set.iterator();
while (it.hasNext()) {
System.out.println(it.next());
}
5.3 使用 entrySet() 遍历 Map
import java.util.HashMap;
import java.util.Map;
HashMap<Integer, String> map = new HashMap<>();
map.put(1, "Java");
map.put(2, "Python");
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println(entry.getKey() + " -> " + entry.getValue());
}
6. 总结
本篇博客详细介绍了 Java 集合框架,包括 List、Set 和 Map 及其常见实现,并演示了如何遍历集合。
在接下来的文章中,我们将深入学习 Java 异常处理机制,敬请期待!
下一期:《Java 学习系列(4):Java 异常处理机制》
652

被折叠的 条评论
为什么被折叠?



