Java Util 集合框架是 Java 编程中非常重要的一个部分,它提供了一系列用于操作数据的类。以下是一些常用的集合类及其使用方法:
-
List(列表):
- ArrayList:动态数组实现的列表,支持随机访问元素。
- LinkedList:双向链表实现的列表,插入和删除元素性能较高。
- Vector:线程安全的动态数组实现的列表,但性能较差。
使用示例:
import java.util.ArrayList; import java.util.List; public class Main { public static void main(String[] args) { List
arrayList = new ArrayList<>(); arrayList.add("A"); arrayList.add("B"); arrayList.add("C"); List linkedList = new LinkedList<>(); linkedList.add("A"); linkedList.add("B"); linkedList.add("C"); } } -
Set(集合):
- HashSet:基于哈希表实现的集合,元素无序且不重复。
- TreeSet:基于红黑树实现的集合,元素有序且不重复。
- LinkedHashSet:基于哈希表和链表实现的集合,元素无序且不重复,但保留插入顺序。
- HashSet:线程安全的集合,但性能较差。
使用示例:
import java.util.HashSet; import java.util.Set; public class Main { public static void main(String[] args) { Set
hashSet = new HashSet<>(); hashSet.add("A"); hashSet.add("B"); hashSet.add("C"); Set treeSet = new TreeSet<>(); treeSet.add("A"); treeSet.add("B"); treeSet.add("C"); } } -
Map(映射):
- HashMap:基于哈希表实现的映射,键值对无序且不重复。
- TreeMap:基于红黑树实现的映射,键值对有序且不重复。
- LinkedHashMap:基于哈希表和链表实现的映射,键值对无序且不重复,但保留插入顺序。
- ConcurrentHashMap:线程安全的映射,性能较好。
使用示例:
import java.util.HashMap; import java.util.Map; public class Main { public static void main(String[] args) { Map
hashMap = new HashMap<>(); hashMap.put("A", 1); hashMap.put("B", 2); hashMap.put("C", 3); Map treeMap = new TreeMap<>(); treeMap.put("A", 1); treeMap.put("B", 2); treeMap.put("C", 3); } }
这些集合类提供了丰富的方法来操作数据,例如添加、删除、查找等。在使用集合时,需要注意以下几点:
- 根据需求选择合适的集合类型。
- 集合中的元素必须是可比较的(如自定义类需要实现
Comparable
接口或使用Comparator
进行比较)。 - 集合在内存中的大小是动态变化的,当集合中的元素数量超过容量时,集合会自动扩容。
- 线程安全的集合在多线程环境下使用时需要注意同步问题。