package 堆;
import java.util.Comparator;
import java.util.PriorityQueue;
import java.util.Queue;
public class Demo {
static class TianGanComparator implements Comparator<String> {
@Override
public int compare(String o1, String o2) {
return Helper(o1) - Helper(o2);
}
private int Helper(String str) {
switch (str) {
case "甲":
return 1;
case "乙":
return 2;
case "丙":
return 3;
case "丁":
return 4;
case "戊":
return 5;
case "己":
return 6;
case "庚":
return 7;
case "辛":
return 8;
case "壬":
return 9;
case "癸":
return 10;
}
return 0;
}
}
public static void main(String[] args) {
Comparator<String> comparator = new TianGanComparator();
PriorityQueue<String> priorityQueue = new PriorityQueue<>(comparator);
Queue<String> queue = priorityQueue;
priorityQueue.add("丙");
priorityQueue.add("戊");
priorityQueue.add("乙");
priorityQueue.add("癸");
priorityQueue.add("辛");
priorityQueue.add("甲");
System.out.println(priorityQueue.remove());
System.out.println(priorityQueue.remove());
System.out.println(priorityQueue.remove());
System.out.println(priorityQueue.remove());
System.out.println(priorityQueue.remove());
System.out.println(priorityQueue.remove());
}
}