package com.ruoyi.alarm.globalAlarm.domain; import java.util.Comparator; import java.util.HashMap; import java.util.Map; import java.util.PriorityQueue; /** * @Description: 引导优先级队列 * @ClassName: PriorityQueue * @Author: 刘苏义 * @Date: 2023年06月29日11:18 * @Version: 1.0 **/ public class GuidePriorityQueue { /** * 相机队列,每个相机一个优先级队列 */ public static Map> cameraQueueMap = new HashMap<>(); /** * 创建一个自定义的比较器,根据优先级属性进行比较 */ public static Comparator getComparator() { Comparator PriorityDescCom = Comparator.comparingInt(GuideTask::getPriority).reversed(); Comparator NumDescCom = Comparator.comparingInt(GuideTask::getNum).reversed(); Comparator alarmTimeAscCom = Comparator.comparing(GuideTask::getAlarmTime); Comparator Comparator = PriorityDescCom.thenComparing(NumDescCom).thenComparing(alarmTimeAscCom); return Comparator; } }