什么函数可用于对矢量进行排序?

2022-09-02 05:28:08

我在java API中找不到任何矢量排序函数。 仅用于 而不是 用于 。Collections.sortList<T>Vector<T>

我不想编写自己的排序函数,因为我认为java应该实现这一点。

我正在寻找类似的东西:

class ClassName implements Comparator<ClassName> ..
ClassName cn = ..;
sort(cn);

答案 1

根据API文档,只是实现,所以我不预见问题。也许你的困惑是因为你根据旧的Java 1.0风格声明的:VectorListVector

Vector vector = new Vector();

而不是声明它到接口(这被认为是很好的做法):

List list = new Vector();

因此,您可以只使用 Collections#sort() 对集合进行排序,使用“比较”来定义默认的排序行为,和/或使用“比较器”来定义外部可控的排序行为。

下面是有关对对象进行排序的 Sun 教程

这是另一个 SO 答案,其中包含完整的代码示例。

也就是说,为什么你仍然坚持使用遗留类?如果可以的话,只需用改进的ArrayList替换,该列表被设计为十多年前的替代品。VectorVector


答案 2

Vector 实现了 List,因此 Collections.sort 可以正常工作。


推荐