自用,Java中的一些容器的简单使用, 持续更新
————————————————————————————————————*
List
ArrayList
LinkedList
Vector
Stack
————————————————————————————————————*
Set
HashSet
LinkedHashSet
TreeSet
————————————————————————————————————*
Map
HashMap
LinkedHashMap
TreeMap
Hashtable
————————————————————————————————————*
Queue
PriorityQueue
LinkedList(也作为队列实现)
ArrayDeque
————————————————————————————————————*
Deque
ArrayDeque
LinkedList(也作为双端队列实现)
————————————————————————————————————*
1. List
ArrayList
import java.util.ArrayList;
public class ArrayListExample {
public static void main(String[] args) {
ArrayList<Integer> list = new ArrayList<>();
// 插入
list.add(1);
list.add(2);
list.add(3);
// 遍历
for (Integer num : list) {
System.out.println(num);
}
// 删除
list.remove(1); // 删除索引为 1 的元素 (即值为 2)
}
}
LinkedList
import java.util.LinkedList;
public class LinkedListExample {
public static void main(String[] args) {
LinkedList<Integer> list = new LinkedList<>();
// 插入
list.add(1);
list.add(2);
list.add(3);
// 遍历
for (Integer num : list) {
System.out.println(num);
}
// 删除
list.remove(1); // 删除索引为 1 的元素
}
}
Vector
import java.util.Vector;
public class VectorExample {
public static void main(String[] args) {
Vector<Integer> vector = new Vector<>();
// 插入
vector.add(1);
vector.add(2);
vector.add(3);
// 遍历
for (Integer num : vector) {
System.out.println(num);
}
// 删除
vector.remove(1); // 删除索引为 1 的元素
}
}
Stack
import java.util.Stack;
public class StackExample {
public static void main(String[] args) {
Stack<Integer> stack = new Stack<>();
// 插入
stack.push(1);
stack.push(2);
stack.push(3);
// 遍历
for (Integer num : stack) {
System.out.println(num);
}
// 删除
stack.pop(); // 移除栈顶元素
}
}
2. Set
HashSet
import java.util.HashSet;
public class HashSetExample {
public static void main(String[] args) {
HashSet<Integer> set = new HashSet<>();
// 插入
set.add(1);
set.add(2);
set.add(3);
// 遍历
for (Integer num : set) {
System.out.println(num);
}
// 删除
set.remove(2); // 删除元素 2
}
}
LinkedHashSet
import java.util.LinkedHashSet;
public class LinkedHashSetExample {
public static void main(String[] args) {
LinkedHashSet<Integer> set = new LinkedHashSet<>();
// 插入
set.add(1);
set.add(2);
set.add(3);
// 遍历
for (Integer num : set) {
System.out.println(num);
}
// 删除
set.remove(2); // 删除元素 2
}
}
TreeSet
import java.util.TreeSet;
public class TreeSetExample {
public static void main(String[] args) {
TreeSet<Integer> set = new TreeSet<>();
// 插入
set.add(3);
set.add(1);
set.add(2);
// 遍历
for (Integer num : set) {
System.out.println(num);
}
// 删除
set.remove(2); // 删除元素 2
}
}
3. Map
HashMap
import java.util.HashMap;
public class HashMapExample {
public static void main(String[] args) {
HashMap<Integer, String> map = new HashMap<>();
// 插入
map.put(1, "one");
map.put(2, "two");
map.put(3, "three");
// 遍历
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
// 删除
map.remove(2); // 删除键为 2 的元素
}
}
LinkedHashMap
import java.util.LinkedHashMap;
public class LinkedHashMapExample {
public static void main(String[] args) {
LinkedHashMap<Integer, String> map = new LinkedHashMap<>();
// 插入
map.put(1, "one");
map.put(2, "two");
map.put(3, "three");
// 遍历
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
// 删除
map.remove(2); // 删除键为 2 的元素
}
}
TreeMap
import java.util.TreeMap;
public class TreeMapExample {
public static void main(String[] args) {
TreeMap<Integer, String> map = new TreeMap<>();
// 插入
map.put(3, "three");
map.put(1, "one");
map.put(2, "two");
// 遍历
for (Map.Entry<Integer, String> entry : map.entrySet()) {
System.out.println("Key: " + entry.getKey() + ", Value: " + entry.getValue());
}
// 删除
map.remove(2); // 删除键为 2 的元素
}
}
4. Queue
PriorityQueue
import java.util.PriorityQueue;
public class PriorityQueueExample {
public static void main(String[] args) {
PriorityQueue<Integer> queue = new PriorityQueue<>();
// 插入
queue.offer(3);
queue.offer(1);
queue.offer(2);
// 遍历
for (Integer num : queue) {
System.out.println(num);
}
// 删除
queue.poll(); // 移除并返回队首元素
}
}
LinkedList(作为队列)
import java.util.LinkedList;
import java.util.Queue;
public class LinkedListAsQueueExample {
public static void main(String[] args) {
Queue<Integer> queue = new LinkedList<>();
// 插入
queue.offer(1);
queue.offer(2);
queue.offer(3);
// 遍历
for (Integer num : queue) {
System.out.println(num);
}
// 删除
queue.poll(); // 移除并返回队首元素
}
}
5. Deque
ArrayDeque
import java.util.ArrayDeque;
import java.util.Deque;
public class ArrayDequeExample {
public static void main(String[] args) {
Deque<Integer> deque = new ArrayDeque<>();
// 插入
deque.addFirst(1); // 在头部插入
deque.addLast(2); // 在尾部插入
deque.addLast(3);
// 遍历
for (Integer num : deque) {
System.out.println(num);
}
// 删除
deque.removeFirst(); // 移除头部元素
deque.removeLast(); // 移除尾部元素
}
}