我有一个Collection(具体来说是Set),并希望从中创建一个PriorityQueue.我也想要我的自定义比较器,但是没有这样的构造函数.
PriorityQueue(Collection c)PriorityQueue(int initialCapacity, Comparator comparator)
http://developer.android.com/reference/java/util/PriorityQueue.html
有什么方法可以首先从集合中创建PriorityQueue,然后再添加Comparator?如果没有,“手动”添加它的最有效方法是什么?
解决方法:
基本上,您有两种选择:
>使用PriorityQueue(Collection c)
构造函数,并让集合中的元素实现Comparable
接口. (然后让优先级队列退回到元素的the natural ordering上).
>使用PriorityQueue(int initialCapacity, Comparator comparator)
构造函数,然后添加集合的所有元素,最好使用PriorityQueue.addAll(Collection c)
方法.
以上是内存溢出为你收集整理的java-从比较器和集合创建PriorityQueue全部内容,希望文章能够帮你解决java-从比较器和集合创建PriorityQueue所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)