List集合中元素排序

前言

没什么好说的,基础知识。集合中的元素实现排序,根据元素的某一或者多个属性进行排序。

方式一

entity实体

public class Student  implements  Comparable<Student>{
    private String name;
    private Integer age;

    public Student(){}

    public Student(String name,Integer age){
        this.name=name;
        this.age=age;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getAge() {
        return age;
    }

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

    @Override
    public int compareTo(Student s) {
        // TODO Auto-generated method stub
        return this.getAge()-s.getAge();
    }   
}

测试类

public class TestStudent {
    public static void main(String[] args) {
        List<Student> list=new ArrayList<Student>();
        Student s1=new Student("漩涡鸣人",14);
        Student s2=new Student("宇智波佐助",15);
        Student s3=new Student("春野樱",13);
        list.add(s1);
        list.add(s2);
        list.add(s3);
        System.out.println("-----------排序之前-------------");
        for(Student s:list){
            System.out.println("姓名:"+s.getName()+",年龄:"+s.getAge());
        }
        Collections.sort(list);
        System.out.println("-----------排序之后-------------");
        for(Student s:list){
            System.out.println("姓名:"+s.getName()+",年龄:"+s.getAge());
        }
    }
}

结果
这里写图片描述

方式二

entity实体

public class Car {
    private String brand;
    private Integer price;

    public Car(){

    }
    public Car(String brand ,int i){
        this.brand=brand;
        this.price=i;
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public Integer getPrice() {
        return price;
    }

    public void setPrice(Integer price) {
        this.price = price;
    }
}

测试类

public class TestCar {
    public static void main(String[] args) {
        List<Car> list=new ArrayList<Car>();
        Car  c1=new Car("雪佛兰",213300);
        Car  c2=new Car("别克",215730);
        Car  c3=new Car("马自达",185730);
        list.add(c1);
        list.add(c2);
        list.add(c3);
        System.out.println("-------------排序之前---------");
        for(Car c:list){
            System.out.println("品牌:"+c.getBrand()+",价格:"+c.getPrice());
        }
        Collections.sort(list, new Comparator<Car>(){
            @Override
            public int compare(Car o1, Car o2) {
                // TODO Auto-generated method stub
                return o1.getPrice()-o2.getPrice();
            }
        });
        System.out.println("-------------排序之后-----------");
        for(Car c:list){
            System.out.println("品牌:"+c.getBrand()+",价格:"+c.getPrice());
        }
    }
}

结果
这里写图片描述

总结

基础知识!

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值