Hid*_*yat 20 java sorting vector
我无法在java API中找到矢量的任何排序函数.
Collections.sort只是为了List<T>而不是为了Vector<T>.
我不想编写自己的排序函数,因为我认为java应该实现它.
我正在寻找类似的东西:
class ClassName implements Comparator<ClassName> ..
ClassName cn = ..;
sort(cn);
Run Code Online (Sandbox Code Playgroud)
Bal*_*usC 28
根据API文档,Vector只是实现List,所以我不会预见到问题.也许你的混乱是因为你Vector根据旧的Java 1.0风格声明:
Vector vector = new Vector();
Run Code Online (Sandbox Code Playgroud)
而不是声明它aginst接口(这被认为是良好的做法):
List list = new Vector();
Run Code Online (Sandbox Code Playgroud)
因此,您可以使用对Collections#sort()集合进行排序,Comparable定义默认排序行为和/或Comparator定义外部可控排序行为.
这是一个关于订购对象的Sun教程.
这是完整代码示例的另一个SO答案.
那就是说,为什么你仍然坚持遗产 Vector类?如果可以,只需用十多年前ArrayList设计的替代品替换Vector.
根据Vector该类的Java API规范,它实现了List使用该Collections.sort方法所需的接口。
另外,请注意,对于大多数用途,Vector可以使用ListJava Collections Framework中的一种实现来替换该类,例如ArrayList。该Vector班是同步的,所以除非有同步访问应该使用其他的一个真正需要List的实现。