`
gaojingsong
  • 浏览: 1155943 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

【集合对象按照属性排序】

阅读更多

源码如下:

import com.crcgas.dp.server.datasource.model.DataSource;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;

class Student {

    private String name;

    private int age;

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

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

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

    @Override
public String toString() {
        return "Perosn [name=" + name + ", age=" + age + "]";
    }
}

public class App {

    public static void main(String[] args) {

        List<Student> students = new ArrayList<Student>();

        students.add(new Student("abc", 12));
        students.add(new Student("bcd", 20));
        students.add(new Student("cde", 17));
        students.add(new Student("def", 25));
        students.add(new Student("efg", 15));

        students.sort((x, y) -> Integer.compare(x.getAge(), y.getAge()));

        for (Student stu : students) {
            System.out.println(stu);
        }
        System.out.println("---------------Collections.sort---------------------");
        Collections.sort(students, new Comparator<Student>(){
            @Override
public int compare(Student o1, Student o2) {
                if(o1.getAge() < o2.getAge()){ // “>”号是正序  “<”是倒序  想要根据谁排序 就用对象get出来
return 1;
                }
                if(o1.getAge()==o2.getAge()){
                    return 0;
                }
                return -1;
            }
        });


        for (Student stu : students) {
            System.out.println(stu);
        }
    }
}

运行结果

 

Perosn [name=abc, age=12]

Perosn [name=efg, age=15]

Perosn [name=cde, age=17]

Perosn [name=bcd, age=20]

Perosn [name=def, age=25]

---------------Collections.sort---------------------

Perosn [name=def, age=25]

Perosn [name=bcd, age=20]

Perosn [name=cde, age=17]

Perosn [name=efg, age=15]

Perosn [name=abc, age=12]

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics