Java - 简单的对象排序

 

注:对象排序,就是对对象中的某一字段进行比较,以正序或倒序进行排序。

 

例:

需要排序的对象:

public class Person {

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

 

实现排序功能的类:

import java.util.Comparator;

public class OrderUtil implements Comparator<Person> {

 @Override
 public int compare(Person p1, Person p2) {
  if (p1 != null && p2 != null) {
   if (p1.age > p2.age) {//此处如果是大于号则为正序,如果是小于号则为倒序
    return 1;
   } else if (p1.age == p2.age) {
    return 0;
   }
  }
  return -1;
 }
}

 

使用示例:

ArrayList<Person> list = new ArrayList<Person>();
  list.add(new Person(3,"three"));
  list.add(new Person(4,"four"));
  list.add(new Person(2,"two"));
  list.add(new Person(5,"five"));
  list.add(new Person(1,"one"));
  
  Collections.sort(list,new OrderUtil());
  
  for (int i = 0; i < list.size(); i++) {
   System.out.println(list.get(i).age);
  }

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。