HashMap<String, Integer> mp = new HashMap<>(); //定义一个HashMap
mp.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] //返回优先队列队头的第一个元素值并将队头删除