如何创建一个 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]

更新于: 2019 年 7 月 30 日

1K+ 查看

启动您的职业

通过完成课程获得认证

开始
广告