package com.ruoyi.alarm.globalAlarm.service.impl;
|
import com.ruoyi.alarm.globalAlarm.domain.GuidePriorityQueue;
|
import java.util.Comparator;
|
import java.util.PriorityQueue;
|
/**
|
* @Description:
|
* @ClassName: PriorityQueueExample
|
* @Author: 刘苏义
|
* @Date: 2023年06月29日10:41
|
* @Version: 1.0
|
**/
|
|
public class PriorityQueueExample {
|
public static void main(String[] args) {
|
|
Comparator<GuideTask> comparator = GuidePriorityQueue.getComparator();
|
// 创建相机1的优先级队列,并传入自定义的比较器
|
PriorityQueue<GuideTask> queue1 = new PriorityQueue<>(comparator);
|
// 添加对象到队列中
|
GuideTask task1 = new GuideTask("task1", "radar", 999, "2023-06-29 11:10:00", 1);
|
GuideTask task2 = new GuideTask("task2", "radar", 999, "2023-06-29 11:11:00", 2);
|
GuideTask task3 = new GuideTask("task3", "radar", 999, "2023-06-29 11:12:00", 1);
|
GuideTask task4 = new GuideTask("task4", "radar", 888, "2023-06-29 11:13:00", 3);
|
queue1.add(task1);
|
queue1.add(task2);
|
queue1.add(task3);
|
queue1.add(task4);
|
|
|
GuidePriorityQueue.cameraQueueMap.put("相机1", queue1);
|
|
for (String camera : GuidePriorityQueue.cameraQueueMap.keySet()) {
|
PriorityQueue<GuideTask> queue = GuidePriorityQueue.cameraQueueMap.get(camera);
|
|
// 依次取出队列中的对象并打印
|
while (!queue.isEmpty()) {
|
GuideTask obj = queue.poll();
|
System.out.println(obj.getAlarmId() + " - Priority: " + obj.getPriority() + "- Num:" + obj.getNum() + "- time-" + obj.getAlarmTime());
|
}
|
}
|
}
|
}
|