如何创建一个 Java 优先级队列来忽略重复项?
创建 Java 优先级队列以忽略重复项的最简单方法是先创建一个 Set 实现 -
HashSet <Integer> set = new HashSet <> (); set.add(100); set.add(150); set.add(250); set.add(300); set.add(250); set.add(500); set.add(600); set.add(500); set.add(900);
现在,创建 Priority Queue 并包含该 set 在上述 set 中删除重复项 -
PriorityQueue<Integer>queue = new PriorityQueue<>(set);
示例
import java.util.HashSet; import java.util.PriorityQueue; public class Demo { public static void main(String[] args) { HashSet<Integer>set = new HashSet<>(); set.add(100); set.add(150); set.add(250); set.add(300); set.add(250); set.add(500); set.add(600); set.add(500); set.add(900); PriorityQueue<Integer>queue = new PriorityQueue<>(set); System.out.println("Elements with no duplicates = "+queue); } }
输出
Elements with no duplicates = [100, 150, 250, 500, 600, 900, 300]
广告