1.实现Comparable接口(如果List<Object>中Object实现了Comparator接口,便可以直接用以下Collections.sort的方式对List进行排序)

public class Test {

public static void main(String[] args) {
  List<User> userList = new ArrayList<User>();
  userList.add(new User(3, "3"));
  userList.add(new User(2, "2"));
  userList.add(new User(5, "5"));
  userList.add(new User(7, "7"));
  Collections.sort(userList);
  for (User user : userList) {
   System.out.println(user.getAge());
  }
 }
}

class User implements Comparable<User> {
 private int age;
 private String name;

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

public int getAge() {
  return age;
 }

public void setAge(int age) {
  this.age = age;
 }

public String getName() {
  return name;
 }

public void setName(String name) {
  this.name = name;
 }

@Override
 public int compareTo(User user) {

return age - user.getAge();
 }
}

2.实现Comparator接口

public class Test {

public static void main(String[] args) {
  List<User> userList = new ArrayList<User>();
  userList.add(new User(3, "3"));
  userList.add(new User(2, "2"));
  userList.add(new User(5, "5"));
  userList.add(new User(7, "7"));
  Collections.sort(userList,new CompareUser());
  for (User user : userList) {
   System.out.println(user.getAge());
  }
 }
}

class CompareUser implements Comparator<Object>{

@Override
 public int compare(Object arg0, Object arg1) {
  User user1=(User)arg0;
  User user2=(User)arg1;
  return user1.getName().toLowerCase().compareTo(user2.getName().toLowerCase());
 }
 
}

class User   {
 private int age;
 private String name;

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

public int getAge() {
  return age;
 }

public void setAge(int age) {
  this.age = age;
 }

public String getName() {
  return name;
 }

public void setName(String name) {
  this.name = name;
 }

}

转载于:https://blog.51cto.com/5618698/1627229

Collections.sort()的使用相关推荐

  1. java中Collections.sort排序详解

    Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f, ...

  2. Java Collections.sort方法对list集合排序

    1.排序测试类 package com.ljq.test;import java.util.ArrayList; import java.util.Collections; import java.u ...

  3. ht-8 对arrayList中的自定义对象排序( Collections.sort(ListT list, Comparator? super T c))...

    1 package com.iotek.set; 2 3 import java.util.ArrayList; 4 import java.util.Collections; 5 import ja ...

  4. java集合sort底层实现_Java面试总结系列之Collections.sort()

    面试中被问到,集合类中的排序方法是怎么实现的?没有回答上来,故而总结如下:你知道么? 前提:在eclipse中对于自己的代码可以通过按住Ctrl的同时单击名称跳入相应源码中.但eclipse默认没有添 ...

  5. Collections.sort()自定义排序方式

    Java中Collections.sort()的使用! 在日常开发中,很多时候都需要对一些数据进行排序的操作.然而那些数据一般都是放在一个集合中如:Map ,Set ,List 等集合中.他们都提共了 ...

  6. java arrays.sort() c_5.4 (Java学习笔记)集合的排序(Collections.sort(),及Arrays.sort())...

    1.Comparable接口 这个接口顾名思义就是用于排序的,如果要对某些对象进行排序,那么该对象所在的类必须实现 Comparabld接口.Comparable接口只有一个方法CompareTo() ...

  7. Collections.sort()泛型集合排序的使用,和自定义类实现Comparable<T>接口重写compareTo(T o)方法完成Collections.sort()排序,以及自定义排序规则

    Collections算法类         1.Collections类是Java提供的一个集合操作工具类. 2.Collections类定义了一系列用于操作集合的静态方法,用于实现对集合元素的排序 ...

  8. Java面试总结系列之Collections.sort()

    面试中被问到,集合类中的排序方法是怎么实现的?没有回答上来,故而总结如下:你知道么? 前提:在eclipse中对于自己的代码可以通过按住Ctrl的同时单击名称跳入相应源码中.但eclipse 默认没有 ...

  9. Java8 Collections.sort()及Arrays.sort()中Lambda表达式及增强版Comparator的使用

    摘要:本文主要介绍Java8 中Arrays.sort()及Collections.sort()中Lambda表达式及增强版Comparator的使用. 不废话直接上代码 import com.goo ...

最新文章

  1. 再和“面向对象”谈恋爱 - 对象简介(一)
  2. 【计算理论】计算复杂性 ( 证明 非确定性图灵机 与 确定性图灵机 的时间复杂度 之间的指数关系 )
  3. cpu工作原理flash动画_cpu的基本结构及其工作原理
  4. [译] React Hooks: 没有魔法,只是数组
  5. 如何检查python的库是否安装成功_如何测试redis是否安装成功
  6. Spring boot logback的使用(日志记录)
  7. 【python】字典与集合的练习题
  8. 常用类中的方法 —— java.util.Map
  9. ng执行css3动画
  10. zookeeper启动失败解决方法
  11. MySQL数据库简单了解
  12. Mac下librdkafka下载安装
  13. ajax怎么回调函数,ajax使用回调函数的例子(原生代码和jquery代码)
  14. Phyton学习笔记
  15. linux fedora centos,linux – 我为什么要使用CentOS而不是Fedora
  16. 关于jar包无法正常打开的解决方法
  17. DELL(i7版本)麦克风杂音问题解决方案
  18. Switch可以用string做参数吗
  19. 2口kvm切换器使用方法简述
  20. 查看LINUX放开端口,linux如何查看端口是否开放?

热门文章

  1. 自定义标签 (转载)
  2. vts传感器采取船舶的_【火炬高企】船舶通讯导航设备专家新诺航科
  3. windows核心编程-第二章 Unicode
  4. hdu4772 水模拟
  5. 【Linux 内核 内存管理】优化内存屏障 ④ ( 处理器内存屏障 | 八种处理器内存屏障 | 通用内存屏障 | 写内存屏障 | 读内存屏障 | 数据依赖屏障 | 强制性内存屏障 |SMP内存屏障 )
  6. 【C 语言】文件操作 ( 文件加密解密 | 加密文件 )
  7. 【Android 逆向】ELF 文件格式 ( ELF 程序头入口大小 | ELF 程序头入口个数 | ELF 文件节区头入口大小 | ELF 文件节区头入口个数 | 字符表序号 )
  8. 【Android 逆向】Android 系统文件分析 ( /proc/pid 进程号对应进程目录 | oom_adj | maps | smaps | mem | task | environ )
  9. 【错误记录】GitHub 提交代码失败、获取代码失败、连接超时、权限错误、ping 请求连接超时 ( 查找域名对应 IP | 设置 host 文件 )
  10. 【数理逻辑】谓词逻辑 ( 个体词 | 个体域 | 谓词 | 全称量词 | 存在量词 | 谓词公式 | 习题 )