Java 集合框架
Java 集合框架(Java Collections Framework,JCF)是 Java 编程语言中用于表示和操作集合(collections)的一组类和接口。集合是用于存储和操作对象组的对象,它们提供了一种高效的方式来管理数据。JCF 提供了多种接口和类,用于实现不同类型的集合,如列表(List)、集合(Set)、队列(Queue)和映射(Map)。
主要接口
Collection 接口
Collection 接口是 JCF 的根接口,它声明了所有集合共有的基本操作,如添加、删除、遍历和检查元素是否存在。Collection 接口有两个主要的子接口:List 和 Set。
List 接口
List 接口扩展了 Collection 接口,用于表示有序的元素集合,允许重复元素。List 接口的常用实现类有 ArrayList、LinkedList 和 Vector。
ArrayList:基于动态数组实现,支持随机访问,适用于频繁的查找和更新操作。LinkedList:基于双向链表实现,支持快速插入和删除操作,适用于频繁的插入和删除操作。Vector:与ArrayList类似,但它是同步的,适用于多线程环境。
Set 接口
Set 接口扩展了 Collection 接口,用于表示无序的元素集合,不允许重复元素。Set 接口的常用实现类有 HashSet、LinkedHashSet 和 TreeSet。
HashSet:基于哈希表实现,支持快速查找、添加和删除操作。LinkedHashSet:继承自HashSet,但它维护了元素的插入顺序。TreeSet:基于红黑树实现,支持排序操作,可以确保元素处于排序状态。
Map 接口
Map 接口用于表示键值对集合,其中每个键都是唯一的,每个键都映射到一个值。Map 接口的常用实现类有 HashMap、LinkedHashMap 和 TreeMap。
HashMap:基于哈希表实现,支持快速查找、添加和删除操作。LinkedHashMap:继承自HashMap,但它维护了键值对的插入顺序。TreeMap:基于红黑树实现,支持排序操作,可以确保键处于排序状态。
迭代器(Iterator)
迭代器(Iterator)是 JCF 中的一个接口,用于遍历集合中的元素。迭代器提供了三个基本操作:hasNext()、next() 和 remove()。使用迭代器可以方便地对集合进行遍历和操作。
使用示例
以下是一个简单的示例,演示了如何使用 Java 集合框架:
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Map;
import java.util.HashMap;
public class CollectionDemo {
public static void main(String[] args) {
// 创建一个 ArrayList
ArrayList<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Cherry");
// 遍历 ArrayList
for (String fruit : list) {
System.out.println(fruit);
}
// 创建一个 HashSet
HashSet<Integer> set = new HashSet<>();
set.add(1);
set.add(2);
set.add(3);
// 使用迭代器遍历 HashSet
Iterator<Integer> iterator = set.iterator();
while (iterator.hasNext()) {
System.out.println(iterator.next());
}
// 创建一个 HashMap
Map<String, Integer> map = new HashMap<>();
map.put("One", 1);
map.put("Two", 2);
map.put("Three", 3);
// 遍历 HashMap
for (Map.Entry<String, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + " -> " + entry.getValue());
}
}
}
这个示例创建了三个集合:一个 ArrayList、一个 HashSet 和一个 HashMap,并演示了如何向它们添加元素、遍历它们以及从它们中删除元素。
1938

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



