java集合如何表示
Java集合框架概述
Java集合框架(Java Collections Framework)是一组用于存储和操作数据的接口和类,位于java.util包中。它提供了动态数组、链表、哈希表、树等数据结构,支持数据的增删改查操作。
核心接口与实现类
1. Collection接口
-
List(有序、可重复)
ArrayList:基于动态数组,适合随机访问。LinkedList:基于双向链表,适合频繁插入/删除。Vector:线程安全的动态数组(已逐渐被ArrayList替代)。List<String> list = new ArrayList<>(); list.add("Java");
-
Set(无序、唯一)
HashSet:基于哈希表,快速查找。LinkedHashSet:保留插入顺序的哈希表。TreeSet:基于红黑树,元素按自然顺序排序。Set<Integer> set = new HashSet<>(); set.add(1);
-
Queue(队列)
LinkedList:也可作为队列使用。PriorityQueue:优先级队列,按优先级排序。
2. Map接口(键值对存储)
HashMap:基于哈希表,键无序。LinkedHashMap:保留插入顺序的哈希表。TreeMap:基于红黑树,键按自然顺序排序。Hashtable:线程安全的哈希表(已逐渐被ConcurrentHashMap替代)。Map<String, Integer> map = new HashMap<>(); map.put("Key", 100);
常用操作示例
遍历集合
-
List遍历
for (String item : list) { System.out.println(item); } -
Map遍历
for (Map.Entry<String, Integer> entry : map.entrySet()) { System.out.println(entry.getKey() + ": " + entry.getValue()); }
排序
-
List排序
Collections.sort(list); // 自然排序 list.sort(Comparator.reverseOrder()); // 自定义排序 -
TreeSet/TreeMap自动排序

TreeSet<String> treeSet = new TreeSet<>(); treeSet.add("Banana"); // 自动按字典序排序
线程安全集合
CopyOnWriteArrayList:线程安全的List,适用于读多写少场景。ConcurrentHashMap:高并发优化的Map实现。Collections.synchronizedList():将普通集合转为线程安全版本。List<String> syncList = Collections.synchronizedList(new ArrayList<>());
注意事项
- 集合类均使用泛型(如
List<String>)以避免类型转换问题。 - 选择集合时需权衡性能需求(如
ArrayListvsLinkedList)。 - 高并发场景优先使用
java.util.concurrent包下的并发集合。
通过合理选择集合类型和操作方法,可以高效处理数据存储与检索需求。






