我正在尝试在 java 中对 Vector 进行排序,但我的 Vector 不是 int 向量,它是对象向量
对象是:
public MyObject() {
numObj = 0;
price = new Price();
pax = new Pax();
}
所以我有一个Vector
of MyObject
我想通过以下方式订购numObject
,我该怎么做,我是java新手?
非常感谢您的帮助。
我假设你正在使用Collections.sort(..)
。您有两个选择:
- 让你的班级实现Comparable http://java.sun.com/javase/6/docs/api/java/lang/Comparable.html
- 排序时,创建自定义Comparator http://java.sun.com/javase/6/docs/api/java/util/Comparator.html
实施示例Comparable
将会:
public class MyObject implements Comparable<MyObject> {
// ..... other fields and methods
public int compareTo(MyObject other) {
return numObj - other.getNumObj();
}
}
这意味着项目按升序排序。如果您想要其他自定义排序,您可以创建一个Comparator
定义自定义比较并将其作为参数传递给Collections.sort(..)
;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)