Queue、Hashtable

Queue也是系统提供的一个容器类,底层也是object[],特点是先进先出,可以存储重复元素。

//创建
Queue queue = new Queue();
//添加
queue.Enqueue("Mike");
queue.Enqueue("Amy");
queue.Enqueue("Jison");
//查找:包含、数量、队首
Console.WriteLine(queue.Contains("Amy"));
Console.WriteLine(queue.Count);
Console.WriteLine(queue.Peek());
//去除
queue.Dequeue();
Console.WriteLine(queue.Count);
Console.WriteLine(queue.Peek());
//遍历
foreach (string name in queue)
{
    Console.Write(name+"-");
}
Console.WriteLine();
//清空
queue.Clear();
Console.WriteLine(queue.Count);

**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()` 等获取第一个和最后一个键。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值