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

如何实现对ArrayList排序 sort()的更多相关文章

  1. ArrayList 排序Sort()方法扩展

    1.sort() sort可以直接对默认继承 IComparable接口的类进行排序,如:int.string.... ArrayList arrayList = new ArrayList(); , ...

  2. ArrayList排序Sort()方法(转)

    //使用Sort方法,可以对集合中的元素进行排序.Sort有三种重载方法,声明代码如下所//示. public void Sort(); //使用集合元素的比较方式进行排序 public void S ...

  3. C++中实现对map按照value值进行排序 - 菜鸟变身记 - 51CTO技术博客

    C++中实现对map按照value值进行排序 - 菜鸟变身记 - 51CTO技术博客 C++中实现对map按照value值进行排序 2012-03-15 15:32:36 标签:map 职场 休闲 排 ...

  4. 使用泛型实现对int数组或者String数组进行排序

    因为是使用的泛型,我们并不确定数据类型, 对于数据的比较就不能用平时的大于或者小于. 我们需要比较对象实现Comparable接口,该接口下的compareTo()方法可以用来比大小 定义Sort类: ...

  5. C#代码实现对HTTP POST参数进行排序

    private static string GetSortedParas(Dictionary<string, string> dic) { dic = dic.OrderBy(key = ...

  6. 使用代理实现对C# list distinct操作

    范型在c#编程中经常使用,而经常用list 去存放实体集,因此会设计到对list的各种操作,比较常见的有对list进行排序,查找,比较,去重复.而一般的如果要对list去重复如果使用linq dist ...

  7. ArrayList排序

    今天发现,ArrayList 排序不满足期望. 起先,List是这样Before sort: [1, @I, am, Love, java, very, Much] 使用Collections.sor ...

  8. JDOM方法实现对XML文件的解析

    首先要下载JDOM.jar包,下载地址:http://download.csdn.net/detail/ww6055/8880371 下载到JDOM.jar包之后导入到工程中去. 实例程序: book ...

  9. Android平台中实现对XML的三种解析方式

    本文介绍在Android平台中实现对XML的三种解析方式. XML在各种开发中都广泛应用,Android也不例外.作为承载数据的一个重要角色,如何读写XML成为Android开发中一项重要的技能. 在 ...

随机推荐

  1. 编码方式之ASCII、ANSI、Unicode概述

    1.ASCII ASCII全称(American Standard Code for Information Interchange)美国信息交换标准代码,在计算机内部中8位二进制位组成1个字节(8( ...

  2. jenkins 打安卓包 cpu使用过高处理操作

    登录两个控制台 打包开始后 在其中一台机器执行ps -ef |grep jenkins 找到执行打包的主进程复制pid 在另一个终端上执行 top -H -p pid 将最耗cpu的线程id转换为16 ...

  3. 在一台服务器上启动多个Broker

    1:把整个conf文件夹复制一份,比如叫做conf22:修改里面的activemq.xml文件(1)里面的brokerName 不能跟原来的重复(2)数据存放的文件名称不能重复,比如:<kaha ...

  4. Python+Appium启动手机APP或者浏览器

    一.设备信息配置 脚本如下: from appium import webdriver class my_app(): def __init__(self): desired_caps = {} # ...

  5. C#获取客户端Ip工具类

    string pcname = Dns.GetHostName(); string ip = Dns.GetHostAddresses(pcname).First().ToString(); usin ...

  6. (八)CXF之用spring添加拦截器

    一.案例 本章案例是基于CXF之自定义拦截器基础之上改造的,目的是在服务端中用spring添加拦截器 配置web.xml <?xml version="1.0" encodi ...

  7. (五)Maven中的聚合和继承

    一.为什么要聚合? 定义:我们在开发过程中,创建了2个以上的模块,每个模块都是一个独立的maven project,在开始的时候我们可以独立的编译和测试运行每个模块,但是随着项目的不断变大和复杂化,我 ...

  8. T4模板使用笔记

    路径获取 ① 获取当前解决方案路径 string solutionsPath = Host.ResolveAssemblyReference("$(SolutionDir)"); ...

  9. 前端关于 superSlide.js 使用,一款基于jquery的前端控件

    1引用jQuery.js 和 jquery.SuperSlide.js 2 编写HTML ** 以下是默认的HTMl结构,分别是 ".hd" 里面包含ul, ".bd&q ...

  10. Reeds-Shepp曲线和Dubins曲线

    转载:https://www.cnblogs.com/huyanan/articles/6243694.html 什么是Reeds-Shepp曲线?       想象你下班开车回家,到了小区后想把车停 ...