java如何对List集合中的元素进行排序

java如何对List集合中的元素进行排序(请收藏),javalist

在java开发中有时候我们需要对List集合中的元素按照一定的规则进行排序,比如说有个Person的集合,我们要根据Person的age属性进行排序输出,这就需要用到Java中提供的对集合进行操作的工具类Collections,其中的sort方法,大家看虾米哥的例子如下:

1.Person类:

public class Person {
 private String id;
 private String name;
 private int age;

 public Person(String id, String name, int age) {
  super();
  this.id = id;
  this.name = name;
  this.age = age;
 }
 public String getId() {
  return id;
 }
 public void setId(String id) {
  this.id = id;
 }
 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;
 }
}

 2.排序类:

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

public class PersonSort {
    public static void main(String[] args) {
        List<Person> plist = new ArrayList<Person>();  
        //创建3个Person对象,年龄分别是32、20、25,并将他们依次放入List中  
        Person p1 = new Person("0001","zhangsan",32);
        Person p2 = new Person("0002","lisi",20);
        Person p3 = new Person("0003","wangwu",25);
        plist.add(p1);
        plist.add(p2);
        plist.add(p3);
        System.out.println("排序前的结果:"+plist);
        Collections.sort(plist, new Comparator<Person>(){
   /*
    * int compare(Person p1, Person p2) 返回一个基本类型的整型,
    * 返回负数表示:p1 小于p2,
    * 返回0 表示:p1和p2相等,
    * 返回正数表示:p1大于p2
    */
   public int compare(Person p1, Person p2) {
       //按照Person的年龄进行升序排列
       if(p1.getAge() > p2.getAge()){
           return 1;
       }
       if(p1.getAge() == p2.getAge()){
           return 0;
       }
       return -1;
   }
        });
        System.out.println("排序后的结果:"+plist);  
    }
}

 

在java开发中有时候我们需要对List集合中的元素按照一定的规则进行排序,比如说有个…

 2.排序类:

在java开发中有时候我们需要对List集合中的元素按照一定的规则进行排序,比如说有个Person的集合,我们要根据Person的age属性进行排序输出,这就需要用到Java中提供的对集合进行操作的工具类Collections,其中的sort方法,大家看虾米哥的例子如下:

package www.itxm.net;

public class Person {
    private String id;
    private String name;
    private int age;

    public Person(String id, String name, int age) {
        super();
        this.id = id;
        this.name = name;
        this.age = age;
    }
    public String getId() {
        return id;
    }
    public void setId(String id) {
        this.id = id;
    }
    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;
    }
}

 3.总结:

发表评论

电子邮件地址不会被公开。 必填项已用*标注