在 Java 中,集合类是一组有序或无序的数据元素的集合。Java 集合类可用于存储和操作各种数据类型的元素,如整数、字符串、对象等。集合类是动态的,可以在运行时根据需要调整其大小。
Java 集合类可以分为三类:
- List - 有序集合,允许重复元素
- Set - 无序集合,不允许重复元素
- Map - 键值对集合,不允许重复键,但允许重复值
Java 还提供了一些集合框架接口,包括 Collection、List、Set 和 Map。
下面我们将讨论 Java 中常用的一些集合类。
List
List 是一个有序的集合,允许重复元素。在 List 中,元素的位置是由它们在列表中的索引确定的。Java 中常用的 List 接口实现类有 ArrayList、LinkedList 和 Vector。
ArrayList
ArrayList 是一个动态数组,可以自动调整其大小以容纳更多的元素。以下是一个使用 ArrayList 添加和访问元素的例子:
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
System.out.println("List size: " + list.size());
System.out.println("Element at index 0: " + list.get(0));
System.out.println("Element at index 1: " + list.get(1));
在上面的代码中,我们使用 ArrayList 来添加和访问元素。使用 add 方法添加元素,使用 get 方法访问元素,使用 size 方法获取列表的大小。
LinkedList
LinkedList 是一个双向链表,可以在任意位置插入或删除元素。以下是一个使用 LinkedList 添加和访问元素的例子:
List<String> list = new LinkedList<>();
list.add("apple");
list.add("banana");
System.out.println("List size: " + list.size());
System.out.println("Element at index 0: " + list.get(0));
System.out.println("Element at index 1: " + list.get(1));
在上面的代码中,我们使用 LinkedList 来添加和访问元素。使用 add 方法添加元素,使用 get 方法访问元素,使用 size 方法获取列表的大小。
Vector
Vector 是一个线程安全的动态数组,可以自动调整其大小以容纳更多的元素。以下是一个使用 Vector 添加和访问元素的例子:
List<String> list = new Vector<>();
list.add("apple");
list.add("banana");
System.out.println("List size: " + list.size());
System.out.println("Element at index 0: " + list.get(0));
System.out.println("Element at index 1: " + list.get(1));
在上面的代码中,我们使用 Vector 来添加和访问元素。使用 add 方法添加元素,使用 get 方法访问元素,使用 size 方法获取列表的大小。
Set
Set 是一个无序的集合,不允许重复元素。在 Set 中,元素的顺序是不保证的。Java 中常用的 Set 接口实现类有 TreeSet、HashSet 和 LinkedHashSet。
HashSet
HashSet 是一个使用哈希表实现的无序集合,不允许重复元素。以下是一个使用 HashSet 添加和访问元素的例子:
Set<String> set = new HashSet<>();
set.add("apple");
set.add("banana");
System.out.println("Set size: " + set.size());
System.out.println("Contains \"apple\": " + set.contains("apple"));
System.out.println("Contains \"orange\": " + set.contains("orange"));
在上面的代码中,我们使用 HashSet 来添加和访问元素。使用 add 方法添加元素,使用 contains 方法检查元素是否存在,使用 size 方法获取集合大小。
TreeSet
TreeSet 是一个基于红黑树实现的有序集合,不允许重复元素。以下是一个使用 TreeSet 添加和访问元素的例子:
Set<String> set = new TreeSet<>();
set.add("apple");
set.add("banana");
System.out.println("Set size: " + set.size());
System.out.println("Contains \"apple\": " + set.contains("apple"));
System.out.println("Contains \"orange\": " + set.contains("orange"));
在上面的代码中,我们使用 TreeSet 来添加和访问元素。使用 add 方法添加元素,使用 contains 方法检查元素是否存在,使用 size 方法获取集合大小。
LinkedHashSet
LinkedHashSet 是一个基于哈希表和链表实现的有序集合,不允许重复元素。以下是一个使用 LinkedHashSet 添加和访问元素的例子:
Set<String> set = new LinkedHashSet<>();
set.add("apple");
set.add("banana");
System.out.println("Set size: " + set.size());
System.out.println("Contains \"apple\": " + set.contains("apple"));
System.out.println("Contains \"orange\": " + set.contains("orange"));
在上面的代码中,我们使用 LinkedHashSet 来添加和访问元素。使用 add 方法添加元素,使用 contains 方法检查元素是否存在,使用 size 方法获取集合大小。
Map
Map 是一个键值对的集合,不允许重复键,但允许重复值。Map 中每个键都唯一对应一个值。Java 中常用的 Map 接口实现类有 TreeMap、HashMap 和 LinkedHashMap。
HashMap
HashMap 是一个使用哈希表实现的键值对集合,不允许重复键。以下是一个使用 HashMap 添加和访问元素的例子:
Map<String, Integer> map = new HashMap<>();
map.put("apple", 1);
map.put("banana", 2);
System.out.println("Map size: " + map.size());
System.out.println("Value of key \"apple\": " + map.get("apple"));
System.out.println("Value of key \"orange\": " + map.get("orange"));
在上面的代码中,我们使用 HashMap 来添加和访问元素。使用 put 方法添加键值对,使用 get 方法访问键值对,使用 size 方法获取集合大小。
TreeMap
TreeMap 是一个基于红黑树实现的有序键值对集合,不允许重复键。以下是一个使用 TreeMap 添加和访问元素的例子:
Map<String, Integer> map = new TreeMap<>();
map.put("apple", 1);
map.put("banana", 2);
System.out.println("Map size: " + map.size());
System.out.println("Value of key \"apple\": " + map.get("apple"));
System.out.println("Value of key \"orange\": " + map.get("orange"));
在上面的代码中,我们使用 TreeMap 来添加和访问元素。使用 put 方法添加键值对,使用 get 方法访问键值对,使用 size 方法获取集合大小。
LinkedHashMap
LinkedHashMap 是一个基于哈希表和链表实现的有序键值对集合,不允许重复键。以下是一个使用 LinkedHashMap 添加和访问元素的例子:
Map<String, Integer> map = new LinkedHashMap<>();
map.put("apple", 1);
map.put("banana", 2);
System.out.println("Map size: " + map.size());
System.out.println("Value of key \"apple\": " + map.get("apple"));
System.out.println("Value of key \"orange\": " + map.get("orange"));
在上面的代码中,我们使用 LinkedHashMap 来添加和访问元素。使用 put 方法添加键值对,使用 get 方法访问键值对,使用 size 方法获取集合大小。
总结
Java 中的集合类可以分为 List、Set 和 Map 三个主要类别。在使用集合类时,请注意选择适当的实现类,并根据需要使用 List、Set 和 Map 接口。同时,还要注意集合类的动态性,以便在运行时动态调整其大小。