数组
// Integer数组
Integer[] integerArray = new Integer[10];
// Integer二维数组
Integer[][] keyValueArray = new Object[10][2];
List
import java.util.List;
import java.util.ArrayList;
// List
List<String> stringList = new ArrayList<>();
链表
import java.util.LinkedList;
// 存储Integer的链表
LinkedList<Integer> integerLinkedList = new LinkedList<>();
栈
import java.util.LinkedList;
import java.util.Deque;
Deque<Character> deque = new LinkedList<>();
队列
import java.util.LinkedList;
import java.util.Queue;
// 存储Integer的队列
Queue<Integer> integerQueue = new LinkedList<>();
Map
import java.util.HashMap;
import java.util.Map;
// 存储Integer和Integer键值对的Map
Map<Integer, Integer> integerMap = new HashMap<>();
Set
import java.util.HashSet;
import java.util.Set;
// 存储Integer的Set
Set<Integer> integerSet = new HashSet<>();
// 存储Integer和Integer键值对的Set
Set<Map.Entry<Integer, Integer>> keyValueSet = new HashSet<>();
优先队列(小根堆、大根堆)
import java.util.PriorityQueue;
// 存储Integer的小根堆
PriorityQueue<Integer> minHeap = new PriorityQueue<>();
// 存储Integer的大根堆
PriorityQueue<Integer> maxHeap = new PriorityQueue<>(Comparator.reverseOrder());
// 存储键值对的小根堆
PriorityQueue<Map.Entry<Integer, String>> minHeap = new PriorityQueue<>(Map.Entry.comparingByKey());
// 存储键值对的小根堆,根据value值比较
PriorityQueue<Map.Entry<Integer, String>> minHeap = new PriorityQueue<>(Comparator.comparing(Map.Entry::getValue));
注
1.List、链表、栈、队列都可以用LinkedList来实现;栈、队列都可以用ArrayDeque实现;LinkedList底层是一个双向链表。List也可以用ArrayList来实现,内存占用和随机访问效率更高一点