当前位置:   article > 正文

怎么使用PriorityQueue?_priorityqueue操作

priorityqueue操作
使用比较器Comparator<? super E> comparator,并通过比较器,以适当的方式对排序顺序进行比较,下面是一个简单的例子:
  • 1
public class StringLengthComparator implements Comparator<String>{

    @Override
    public int compare(String o1, String o2) {
        if (o1.length() < o2.length()) {
            return -1;
        }
        if (o1.length() > o2.length()) {
            return 1;
        }
        return 0;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
public class Test {
    public static void main(String[] args) {
        Comparator<String> comparator = new StringLengthComparator();
        PriorityQueue<String> queue = new PriorityQueue<String>(10,comparator);
        queue.add("short");
        queue.add("very long indeed");
        queue.add("medium");
        while(queue.size() != 0) {
            System.out.println(queue.remove());
        }
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

输出的结果为:

short
medium
very long indeed
  • 1
  • 2
  • 3
PriorityQueue中add和offer方法的不同之处:
offer属于Queue<E>,add属于Collection<E>接口,除了这个,这两个方法做的相同的事情---插入某个元素到PriorityQueue。
  • 1
  • 2
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/355104
推荐阅读
相关标签
  

闽ICP备14008679号