HashMap<String, Integer> mp = new HashMap<>(); //定义一个HashMapmp.put(key, value); //插入键值对mp.size() //获取容器中键值对数量mp.get(str); //获取key值对应的value
class PII implements Comparable<PII> { public int ts; public int id; public PII(int ts, int id) { this.ts = ts; this.id = id; } //自定义排序 @Override public int compareTo(PII o) { return Integer.compare(ts, o.ts); }}
ArrayList res = new ArrayList(); //定义一个动态数组res.add(obj); //向动态数组中加入一个元素for (int i = 0; i < res.size(); i++) { //遍历该动态数组 System.out.print(res.get(i) + " ");}
Stack<Integer> stk = new Stack<Integer>(); //定义一个栈stk.push(value); //入栈stk.empty(); //判断栈顶是否为空stk.pop(); //移除堆栈对象并将其返回(与C++中的不同)stk.peek(); //返回栈顶对象stk.search(); //返回对象在堆栈中的位置,以 1 为基数,其实位置为栈顶
Queue<node> q = new LinkedList<node>(); //定义一个队列q.offer(new node(sx, sy, 0)); //向队列中加入一个元素【add()和remove()方法在失败的时候会抛出异常(不推荐)】q.poll(); //返回第一个元素,并在队列中删除queue.element() 或 queue.peek(); //返回第一个元素
import java.util.PriorityQueue;PriorityQueue<int[]> q = new PriorityQueue; //定义一个优先队列static Comparator<int[]> cmp = new Comparator<int[]>() { //重写比较器自定义排序 @Override public int compare(int[] o1, int[] o2) { return o1[0] - o2[0]; //这里表示按优先队列中第一个元素从小到大排序 }};q = new PriorityQueue<>(cmp); //用重写的比较器初始化优先队列q.add({...}); //向队尾加入新的元素q.size(); //返回优先队列的长度q.peek()[0] //返回优先队列队头的第一个元素值q.poll()[0] //返回优先队列队头的第一个元素值并将队头删除