是的,Java 的排序函数可以处理对象。 要对对象进行排序,您必须实现Comparable
接口或使用Comparator
接口。
- 在对象类中实现
Comparable
接口:
。让它实现:使用Comparable
接口并重写compareTo()
方法。 compareTo()
方法要求您根据对象的属性定义排序规则。 例如,如果您有一个包含 age
属性的 person
类,则可以按如下方式实现 Comparable
接口:
公共 类 人员 实现 等效 {
私人 int 年龄;
私人 字符串name;
//省略构造函数、getter、setter方法
@覆盖
public int compareTo (其他人) {
return Integer.compare(this.age, other.age);
}
}
然后,您可以使用集合。 .sort() 方法对 person
对象列表进行排序。
列表人员 = 新 ArrayList();
// 添加人员 将对象添加到列表
Collections.sort(people);
- 使用
Comparator
接口:
要对属性进行排序,您可以使用比较器接口。 创建一个实现 Comparator
接口并重写 compare()
方法的类。 例如,对于 Person
类,您可以创建一个 AgeComparator
类。
公共 类 年龄比较器 实现 比较器 {
@Override
公共 int 比较(person p1, person p2) {
返回 Integer.compare(p1.getAge(), p2.getAge());
}
}
然后你可以使用 Collections.sort() 方法对 person
对象列表进行排序,并将其传递给 AgeComparator
实例。
列表人员 = 新 ArrayList();
//将people对象添加到列表
Collections.sort(people, 新 年龄比较器());
这两种方法都允许您对 Java 中的对象进行排序。
以上内容来源于互联网,不代表本站全部观点。 欢迎关注:zhujipindao.com
评论前必须登录!
注册