通过PriorityQueue类构造大顶堆(最大堆)和小顶堆(最小堆)
priority:优先的意思
//创建最大堆
PriorityQueue queue = new PriorityQueue<>((num1, num2) -> num2 - num1);
https://www.csdn.net/tags/MtTaEg4sNDMyNDgxLWJsb2cO0O0O.html
TreeMap按照value进行排序
TreeMap底层是根据红黑树的数据结构构建的,默认是根据key的自然排序来组织(比如integer的大小,String的字典排序)。
https://www.cnblogs.com/shamo89/p/9885779.html