Vector 类
Vector 类是基于动态数组的数据结构实现的,与 ArrayList 类似,但它是线程安全的。Vector 类的主要特点如下:
- 允许包含重复元素;
- 允许使用 null 值;
- 线程安全;
- 查询速度快,但插入和删除速度较慢。
示例代码:
```java
import java.util.Vector;
public class VectorExample {
public static void main(String[] args) {
// 创建一个空的 Vector
Vector<String> vector = new Vector<>();
// 向 Vector 中添加元素
vector.add("Apple");
vector.add("Banana");
vector.add("Cherry");
// 输出 Vector 中的元素
System.out.println(vector);
// 获取 Vector 中的元素个数
System.out.println("Size: " + vector.size());
// 删除指定
位置的元素
vector.remove(1);
// 输出删除元素后的 Vector
System.out.println(vector);
// 获取指定位置的元素
System.out.println("Element at index 1: " + vector.get(1));
}
}
```
(2)Set 接口
Set 接口表示一个无序且不包含重复元素的集合。Set 接口的主要实现类有 HashSet、LinkedHashSet 和 TreeSet。
① HashSet 类
HashSet 类是基于哈希表的数据结构实现的,主要特点如下:
- 不允许包含重复元素;
- 允许使用 null 值;
- 线程不安全;
- 查询速度快,但插入和删除速度较慢。
示例代码:
```java
import java.util.HashSet;
public class HashSetExample {
public static void main(String[] args) {
// 创建一个空的 HashSet
HashSet<String> set = new HashSet<>();
// 向 HashSet 中添加元素
set.add("Apple");
set.add("Banana");
set.add("Cherry");
// 输出 HashSet 中的元素
System.out.println(set);
// 判断 HashSet 中是否包含某个元素
System.out.println("HashSet contains Banana: " + set.contains("Banana"));
// 删除指定元素
set.remove("Banana");
// 输出删除元素后的 HashSet
System.out.println(set);
}
}
```
② LinkedHashSet 类
LinkedHashSet 类是基于哈希表和双向链表的数据结构实现的,主要特点如下:
- 不允许包含重复元素;
- 允许使用 null 值;
- 线程不安全;
- 插入和删除速度快,查询速度较慢。
示例代码:
```java
import java.util.LinkedHashSet;
public class LinkedHashSetExample {
public static void main(String[] args) {
// 创建一个空的 LinkedHashSet
LinkedHashSet<String> set = new LinkedHashSet<>();
// 向 LinkedHashSet 中添加元素
set.add("Apple");
set.add("Banana");
set.add("Cherry");
// 输出 LinkedHashSet 中的元素
System.out.println(set);
// 判断 LinkedHashSet 中是否包含某个元素
System.out.println("LinkedHashSet contains Banana: " + set.contains("Banana"));
// 删除指定元素
set.remove("Banana");
// 输出删除元素后的 LinkedHashSet
System.out.println(set);
}
}
```