java对象排序_Java如何将对象进行排序

/ 以下是我的源代码。其中还有一个实现了Comparable接口的自定义的Car类未给出,

那不影响我的提问*/package

cn.com.csuinfo.Mycollec;import

java.util.Set;import

java.util.TreeSet;public class TestMySort

{public void BubbleSort(TreeSet

set){Car c1;Car

c2;Car c3;Car

c4;c1=set.pollFirst();//将set中的元素一个个取出来,再存入Car数组中c2=set.pollFirst();c3=set.pollFirst();c4=set.pollFirst();Car[]

iArr={c1,c2,c3,c4}; //数组中存放了Car类型的四个对象Car

tmp=null;int len=set.size();for(int

i=0;ifor(int j=0;jif(iArr[j].price

> iArr[j+1].price) {tmp =

iArr[j];iArr[j] = iArr[j + 1];iArr[j +

1]=

tmp;System.out.println("SB");//测试之注意!:程序没执行到此来???}}}for(Car

car:

iArr){System.out.println(car);}}public

static void main(String[] args){TreeSet set1=new

TreeSet();Car car1=new

Car("Ford",164000);Car car2=new

Car("Honda",286000);Car car3=new

Car("Toyota",410000);Car car4=new

Car("Benz",850000);set1.add(car1);set1.add(car2);set1.add(car3);set1.add(car4);System.out.println(”***********************“);new

TestMySort().BubbleSort(set1);}}

这里用到集合的知识了,排序用TreeSet

比如:

这里我们对一个Person对象进行排序,Person对象里面有两个属性,一个是姓名一个是年龄,我们这里按照年龄升序,如果年龄相同就按照姓名排序;

import java.util.*;

public class Test {

public static void main(String[] args) {

TreeSet ts = new TreeSet(new Comparator(){

public int compare(Person p1, Person p2) {

int num = new Integer(p1.getAge()).compareTo(new Integer(p2.getAge()));

if(num==0){

return p1.getName().compareTo(p2.getName());

}

return num;

}

});

ts.add(new Person("zhangsan",20));

ts.add(new Person("zhangsan",30));

ts.add(new Person("lisi",10));

ts.add(new Person("wangwu",40));

for(Person p:ts){

System.out.println(p.getName()+"::"+p.getAge());

}

}

}

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值