用collections.sort方法对list排序有两种方法
第一种是list中的对象实现comparable接口,如下:
[java] view plain copy
/**
* 根据order对user排序
*/
public class user implements comparable
private string name;
private integer order;
public string getname() {
return name;
}
public void setname(string name) {
this.name = name;
}
public integer getorder() {
return order;
}
public void setorder(integer order) {
this.order = order;
}
public int compareto(user arg0) {
return this.getorder().compareto(arg0.getorder());
}
} 测试一下:
public class test{
public static void main(string[] args) {
user user1 = new user();
user1.setname("a");
user1.setorder(1);
user user2 = new user();
user2.setname("b");
user2.setorder(2);
list
//此处add user2再add user1
list.add(user2);
list.add(user1);
collections.sort(list);
for(user u : list){
system.out.println(u.getname());
}
}
}
输出结果如下
a
b
第二种方法是根据collections.sort重载方法来实现,例如:
[java] view plain copy
/**
* 根据order对user排序
*/
public class user { //此处无需实现comparable接口
private string name;
private integer order;
public string getname() {
return name;
}
public void setname(string name) {
this.name = name;
}
public integer getorder() {
return order;
}
public void setorder(integer order) {
this.order = order;
}
}
主类中这样写即可(hastset——>list——>sort进行排序):
public class test {
public static void main(string[] args) {
user user1 = new user();
user1.setname("a");
user1.setprice(11);
user user2 = new user();
user2.setname("b");
user2.setprice(2);
set
hset.add(user2);
hset.add(user1);
list
list.addall(hset);
collections.sort(list,new comparator
public int compare(user arg0, user arg1) {
return arg0.getprice().compareto(arg1.getprice());
}
});
for(user u : list){
system.out.println(u.getname());
}
}
输出结果如下:
a
b
默认为升序,将。return arg0.getorder().compareto(arg1.getorder()); 改为:
return arg1.getorder().compareto(arg0.getorder());
就成降序的了。
0
0
相关文章
在Java里Comparable接口在集合中如何生效_Java自然排序说明
在Java中如何对集合进行排序_Java集合排序方式说明
在Java中如何实现商品库存管理_Java集合与对象综合练习
在Java里如何使用TreeSet实现排序集合_Java集合排序与树结构说明
在Java里集合中对象相等性如何判断_Javaequals与hashCode解析
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
C++ 高级模板编程与元编程
本专题深入讲解 C++ 中的高级模板编程与元编程技术,涵盖模板特化、SFINAE、模板递归、类型萃取、编译时常量与计算、C++17 的折叠表达式与变长模板参数等。通过多个实际示例,帮助开发者掌握 如何利用 C++ 模板机制编写高效、可扩展的通用代码,并提升代码的灵活性与性能。
15
2026.01.23
热门下载
精品课程
相关推荐
/
热门推荐
/
最新课程
JavaScript OOP调试技巧视频教程
共5课时 | 1.0万人学习
最新文章








