Java集合框架(Java Collections Framework,简称JCF)是Java编程语言中用于存储和操作一组对象的体系结构。它提供了一系列接口和类,用于表示和操作不同类型的集合,如列表、集合、队列和映射。以下是Java集合框架的主要组成部分和一些常用的接口和类:
-
主要接口
-
Collection
- List:有序集合,允许重复元素。
- ArrayList:基于数组实现,支持快速随机访问。
- LinkedList:基于链表实现,支持快速插入和删除。
- Set:不包含重复元素的集合。
- HashSet:基于哈希表实现,不保证元素顺序。
- TreeSet:基于红黑树实现,元素有序。
- LinkedHashSet:基于哈希表和链表实现,元素顺序与插入顺序一致。
- Queue:队列,通常按照先进先出(FIFO)的原则管理元素。
- PriorityQueue:优先队列,元素按照优先级排序。
- List:有序集合,允许重复元素。
-
Map
- HashMap:基于哈希表实现,不保证元素顺序。
- TreeMap:基于红黑树实现,元素有序。
- LinkedHashMap:基于哈希表和链表实现,元素顺序与插入顺序一致。
-
常用类
-
ArrayList
- 动态数组,支持快速随机访问。
- 示例代码:
List<String> list = new ArrayList<>(); list.add("Apple"); list.add("Banana"); System.out.println(list); // 输出: [Apple, Banana]
-
LinkedList
- 双向链表,支持快速插入和删除。
- 示例代码:
List<String> list = new LinkedList<>(); list.add("Apple"); list.add("Banana"); System.out.println(list); // 输出: [Apple, Banana]
-
HashSet
- 基于哈希表实现,不保证元素顺序。
- 示例代码:
Set<String> set = new HashSet<>(); set.add("Apple"); set.add("Banana"); System.out.println(set); // 输出: [Apple, Banana] 或 [Banana, Apple]
-
TreeSet
- 基于红黑树实现,元素有序。
- 示例代码:
Set<String> set = new TreeSet<>(); set.add("Apple"); set.add("Banana"); System.out.println(set); // 输出: [Apple, Banana]
-
HashMap
- 基于哈希表实现,不保证元素顺序。
- 示例代码:
Map<String, Integer> map = new HashMap<>(); map.put("Apple", 1); map.put("Banana", 2); System.out.println(map); // 输出: {Apple=1, Banana=2} 或 {Banana=2, Apple=1}
-
TreeMap
- 基于红黑树实现,元素有序。
- 示例代码:
Map<String, Integer> map = new TreeMap<>(); map.put("Apple", 1); map.put("Banana", 2); System.out.println(map); // 输出: {Apple=1, Banana=2}
-
其他接口和类
- Iterator:用于遍历集合中的元素。
- Comparator:用于自定义集合中元素的排序规则。
- Collections:提供了一系列静态方法,用于操作集合。
Java集合框架提供了丰富的接口和类,可以满足各种不同的需求。通过合理选择和使用这些集合类,可以大大提高编程效率和代码质量。