java実用的な方法の整理(27)——PriorityQueは最小のヒープと最大のヒープを実現します。
1285 ワード
1,PriorityQueデフォルトで実現したのは最小の山です。
import java.util.PriorityQueue;
/**
* @author Manduner_TJU
* @version :2019 4 10 4:51:00
*/
public class Test9 {
public static void main(String[] args) {
int[] a = {45,36,18,53,72,30,48,93,15,35};
//1, , natural ordering ( , , )
PriorityQueue minHeap = new PriorityQueue();
for(int i=0;i
2,コンパレータで最大ヒープを実現import java.util.Comparator;
import java.util.PriorityQueue;
/**
* @author Manduner_TJU
* @version :2019 4 10 4:51:00
*/
public class Test9 {
public static void main(String[] args) {
int[] a = {45,36,18,53,72,30,48,93,15,35};
//2, ,
PriorityQueue maxHeap = new PriorityQueue(new Comparator() {
@Override
public int compare(Integer o1, Integer o2) {
/** 、 .
*(1) return o1.compareTo(o2) return o1-o2
*(2) return o2.compareTo(o1) return o2-o1
*/
return o2.compareTo(o1);
}
}) ;
for(int i=0;i