zoukankan      html  css  js  c++  java
  • 如何实现对ArrayList排序 sort()

    package com.collection;

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

    public class Test {
         public static void main(String[] args) {

              Student zlj = new Student("丁晓宇", 21);
              Student dxy = new Student("赵四", 22);
              Student cjc = new Student("张三", 11);
              Student lgc = new Student("刘武", 19);

              List<Student> studentList = new ArrayList<Student>();
              studentList.add(zlj);
              studentList.add(dxy);
              studentList.add(cjc);
              studentList.add(lgc);

              System.out.println("按年龄升序:");
              Collections.sort(studentList, new SortByAge());
              for (Student student : studentList) {
               System.out.println(student.getName() + " / " + student.getAge());
              }
              System.out.println();
              System.out.println("按姓名排序:");
              Collections.sort(studentList, new SortByName());
              for (Student student : studentList) {
               System.out.println(student.getName() + " / " + student.getAge());
              }
             }
            }

            class SortByAge implements Comparator {
             public int compare(Object o1, Object o2) {
              Student s1 = (Student) o1;
              Student s2 = (Student) o2;
             if (s1.getAge() > s2.getAge())
               return 1;
              return -1;
             }
            }

            class SortByName implements Comparator {
             public int compare(Object o1, Object o2) {
              Student s1 = (Student) o1;
              Student s2 = (Student) o2;
              return s1.getName().compareTo(s2.getName());
             }
    }

    输出结果:

    按年龄升序:
    张三 / 11
    刘武 / 19
    丁晓宇 / 21
    赵四 / 22

    按姓名排序:
    丁晓宇 / 21
    刘武 / 19
    张三 / 11
    赵四 / 22

  • 相关阅读:
    Java集合类总结 (三)
    Java集合类总结 (二)
    Java集合类总结 (一)
    发布方配ASP.NET网站服务器
    Ubuntu重启搜狗输入法
    常用期刊检索
    latex 写大论文图目录中图注过长解决方案
    understanding backpropagation
    Ubuntu安装Adobe Reader
    【转】pdf文件自动切白边
  • 原文地址:https://www.cnblogs.com/renjiaqi/p/6429649.html
Copyright © 2011-2022 走看看