java实现ArrayList根据存储对象排序功能示例

本文实例讲述了java实现ArrayList根据存储对象排序功能。分享给大家供大家参考,具体如下:

与c++中的qsort的实现极为相似,构建新的比较对象Comparator即可

package demo;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
class Stu{
  public int age;
  private String name;
  public Stu(String name,int age){
    this.age=age;
    this.name=name;
  }
  public String toString(){
    String str=name+"is "+age;
    return str;
  }
}
public class Sort{
  @SuppressWarnings({ "unchecked", "rawtypes" })
 public static void main(String[] args){
    ArrayList s=new ArrayList();
    s.add(new Stu("cjc",25));
    s.add(new Stu("jake",17));
    s.add(new Stu("john",30));
    s.add(new Stu("Alice",23));
    System.out.println("脚本之家测试结果:");
    System.out.println("The order before sorting!");
    System.out.println(s);
    //对集合中的元素更具年龄进行排序
    Collections.sort(s,new Comparator(){
      @Override
      public int compare(Object o1, Object o2) {
        // TODO Auto-generated method stub
        Stu stu1=(Stu)o1;
        Stu stu2=(Stu)o2;
        return stu2.age-stu1.age;
      }
    });
    System.out.println("The order after sorting!");
    System.out.println(s);
  }
}

运行结果:

java实现ArrayList根据存储对象排序功能示例_第1张图片

PS:这里再为大家推荐一款关于排序的演示工具供大家参考:

在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.jb51.net/aideddesign/paixu_ys

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。

你可能感兴趣的:(java实现ArrayList根据存储对象排序功能示例)