简述常用集合类ArrayList、Queue、Stack、Hashtable、SortedList的创建和操作。
时间: 2024-09-30 17:16:24 浏览: 37
c# 中的arrlist queue HashtableTest SortedList stack 集合
**1. ArrayList**:
ArrayList 是一种动态数组,可以在运行时自动调整容量。创建时需要指定初始容量,如:
```java
ArrayList<String> list = new ArrayList<>(10); // 创建一个初始容量为10的字符串列表
list.add("Element"); // 添加元素
list.get(0); // 获取第0个元素
```
常用的操作包括`add()`、`remove()`、`get()`等。
**2. Queue**:
常用的队列有 LinkedList 和 ArrayDeque。创建如:
```java
LinkedList<String> queue = new LinkedList<>();
queue.offerFirst("Front"); // 入队(在头部)
String front = queue.pollFirst(); // 出队(从头部)
```
`offerLast()` 和 `pollLast()` 分别对应在队尾添加和移除元素。
**3. Stack**:
Stack 类似于栈模型,典型实现是 LinkedList。创建和操作类似:
```java
Stack<String> stack = new Stack<>();
stack.push("Top"); // 入栈
String top = stack.pop(); // 出栈
```
`peek()` 可以查看栈顶元素但不移除。
**4. Hashtable / HashMap (Java 8以后改名为 Map)**:
哈希表用于存储键值对,键唯一。创建:
```java
Map<String, Integer> map = new HashMap<>();
map.put("Key", 1); // 存储
Integer value = map.get("Key"); // 获取
```
`putIfAbsent()` 和 `containsKey()` 等方法便于操作。
**5. SortedList**:
有序列表,如 TreeMap 或 TreeSet。创建:
```java
TreeMap<String, Integer> sortedList = new TreeMap<>();
sortedList.put("Alpha", 1); // 自动排序
Integer alphaValue = sortedList.firstEntry().getValue(); // 查找最小键对应的值
```
常用操作包括 `firstKey()`、`lastKey()` 等获取第一个和最后一个键。
阅读全文