用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里对象生命周期是怎样的_Java对象创建与销毁说明
如何在函数中动态创建并管理多个类实例以进行跨调用比较
在Java里集合如何判断对象是否相等_Javaequals与hashCode解析
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
C++ 设计模式与软件架构
本专题深入讲解 C++ 中的常见设计模式与架构优化,包括单例模式、工厂模式、观察者模式、策略模式、命令模式等,结合实际案例展示如何在 C++ 项目中应用这些模式提升代码可维护性与扩展性。通过案例分析,帮助开发者掌握 如何运用设计模式构建高质量的软件架构,提升系统的灵活性与可扩展性。
14
2026.01.30
热门下载
精品课程
相关推荐
/
热门推荐
/
最新课程
JavaScript OOP调试技巧视频教程
共5课时 | 1.0万人学习
最新文章








