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<Stu> s=new ArrayList<Stu>();
    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);
  }
}

运行结果:

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

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

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

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

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。