根据对象的属性排序(属性必须为数字时)

该排序主要运用了冒泡排序 和 java提供的排序函数

 public class CompareData {

public static class personClass {
private String name;
private int number;
public personClass(String name,int number){
this.name=name;
this.number=number;
}
}
private void swp(ArrayList<personClass> person, int X,int Y){
personClass temp=person.get(X);
person.set(X, person.get(Y));
System.out.print(person.get(X).name);
person.set(Y,temp);
System.out.print(person.get(Y).name);
}
//冒泡
public void getDataCompare(ArrayList<personClass> person ){
for(int i=0;i<person.size();i++){
// personClass personTemp=person.get(i);//得到第二个

for (int j = i; j < person.size(); j++) {

if(person.get(i).number<person.get(j).number){
personClass temp=person.get(i);
person.set(i, person.get(j));
person.set(j, temp);
}
}

}

}

public List<personClass> getList(List<personClass> g){
Collections.sort(g, new Comparator<personClass>(){
//java提供的对象排序函数 
public int compare(personClass o1, personClass o2) {
// TODO Auto-generated method stub
int numberPre=o1.number;
int numberHre=o2.number;
if(numberPre>numberHre){
return 1;
}
else if(numberPre<numberHre){
return -1;
}
else {
return 0;
}
}

});
return g;
}
public static void main(String []arg){
personClass a=new personClass("小明 ",80);
personClass b=new personClass("小华",30);
personClass c=new personClass("小花",80);
personClass d=new personClass("小黑",10);
personClass f=new personClass("小白",70);
List<personClass> g=new ArrayList<personClass>();

g.add(a);
g.add(b);
g.add(c);
g.add(d);
g.add(f);
for(int i=0;i<g.size();i++){
personClass per=g.get(i);
System.out.println(per.name+per.number);
}
new CompareData().getList(g);
System.out.println("------------------");

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值