根据ArrayList 中对象的属性排序

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Sort {


static List<user>  userl=new ArrayList<user>();



/**
* 根据年龄排行

* @return
*/
public List<user> getSortMonth(List<user>  u) {
Comparator<user> comparator = new Comparator<user>() {
public int compare(user s1, user s2) {
//
return s1.getAge()- s2.getAge();
}
};
Collections.sort(u, comparator);
return u;
}


/**
* 根据sum值排行

* @return
*/
public List<user> getSortQuarter(List<user>  u) {
Comparator<user> comparator = new Comparator<user>() {
public int compare(user s1, user s2) {
//


return s2.getSum() - s1.getSum();


}
};
Collections.sort(u, comparator);
return u;
}


public static void main(String[] args) {
List<user>  u1=new ArrayList<user>();
List<user>  u2=new ArrayList<user>();
user user=new user();
user.setAge(12);
user.setSum(32);
user.setUsername("hhhh");
user user2=new user();
user2.setAge(15);
user2.setSum(30);
user2.setUsername("wwwww");
user user3=new user();
user3.setAge(16);
user3.setSum(36);

user3.setUsername("wwwww");

//要想两种排序方式不受影响   对象就必须加入不同的list中(个人看法)

u1.add(user);
u1.add(user2);
u1.add(user3);
u2.add(user);
u2.add(user2);
u2.add(user3);
Sort s=new Sort();

u1=s.getSortMonth(u1);
u2=s.getSortQuarter(u2);
for (int i = 0; i < u1.size(); i++) {
System.out.println( u1.get(i).getAge());
System.out.println(u1.get(i).getSum());
}
for (int i = 0; i < u2.size(); i++) {
System.out.println( u2.get(i).getAge());
System.out.println( u2.get(i).getSum());
}
}

}

-------------------------------------------------------

public class User {


private String username;
private int age;
private int sum;


public String getUsername() {
return username;
}


public void setUsername(String username) {
this.username = username;
}


public int getAge() {
return age;
}


public void setAge(int age) {
this.age = age;
}


public int getSum() {
return sum;
}


public void setSum(int sum) {
this.sum = sum;
}


}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值