PriorityQueue与ArrayList

时间:2015-10-14 18:57:16

标签: java arraylist priority-queue comparator

我一直在尝试实施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。

有人可以通过一些例子展示如何实现这一目标吗?

谢谢:)

0 个答案:

没有答案