我一直在尝试实施PriorityQueue。
这是我想要的,根据String
的长度排序。
static class abc implements Comparator<String>
{
@Override
public int compare(String a, String b) {
return a.length() - b.length();
}
}
主要功能:
List<String> q = new ArrayList<String>();
q.add("1");
q.add("0111");
q.add("11");
q.add("151");
q.add("121");
Collections.sort(q, new abc());
这给出了完美的结果。
但是,当我使用PriorityQueue而不是ArrayList
时PriorityQueue<String> q = new PriorityQueue<>(10, new abc());
我没有得到所需的结果。
当我打印PQ时:
System.out.println(q.toString());
[1, 151, 11, 0111, 121]
另外,由于我希望在添加字符串时我的列表超时排序,我更喜欢PQ而不是ArrayList。
有人可以通过一些例子展示如何实现这一目标吗?
谢谢:)