Collections.sort()的使用
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()的使用相关推荐
- java中Collections.sort排序详解
Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f, ...
- Java Collections.sort方法对list集合排序
1.排序测试类 package com.ljq.test;import java.util.ArrayList; import java.util.Collections; import java.u ...
- 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 ...
- java集合sort底层实现_Java面试总结系列之Collections.sort()
面试中被问到,集合类中的排序方法是怎么实现的?没有回答上来,故而总结如下:你知道么? 前提:在eclipse中对于自己的代码可以通过按住Ctrl的同时单击名称跳入相应源码中.但eclipse默认没有添 ...
- Collections.sort()自定义排序方式
Java中Collections.sort()的使用! 在日常开发中,很多时候都需要对一些数据进行排序的操作.然而那些数据一般都是放在一个集合中如:Map ,Set ,List 等集合中.他们都提共了 ...
- java arrays.sort() c_5.4 (Java学习笔记)集合的排序(Collections.sort(),及Arrays.sort())...
1.Comparable接口 这个接口顾名思义就是用于排序的,如果要对某些对象进行排序,那么该对象所在的类必须实现 Comparabld接口.Comparable接口只有一个方法CompareTo() ...
- Collections.sort()泛型集合排序的使用,和自定义类实现Comparable<T>接口重写compareTo(T o)方法完成Collections.sort()排序,以及自定义排序规则
Collections算法类 1.Collections类是Java提供的一个集合操作工具类. 2.Collections类定义了一系列用于操作集合的静态方法,用于实现对集合元素的排序 ...
- Java面试总结系列之Collections.sort()
面试中被问到,集合类中的排序方法是怎么实现的?没有回答上来,故而总结如下:你知道么? 前提:在eclipse中对于自己的代码可以通过按住Ctrl的同时单击名称跳入相应源码中.但eclipse 默认没有 ...
- Java8 Collections.sort()及Arrays.sort()中Lambda表达式及增强版Comparator的使用
摘要:本文主要介绍Java8 中Arrays.sort()及Collections.sort()中Lambda表达式及增强版Comparator的使用. 不废话直接上代码 import com.goo ...
最新文章
- 再和“面向对象”谈恋爱 - 对象简介(一)
- 【计算理论】计算复杂性 ( 证明 非确定性图灵机 与 确定性图灵机 的时间复杂度 之间的指数关系 )
- cpu工作原理flash动画_cpu的基本结构及其工作原理
- [译] React Hooks: 没有魔法,只是数组
- 如何检查python的库是否安装成功_如何测试redis是否安装成功
- Spring boot logback的使用(日志记录)
- 【python】字典与集合的练习题
- 常用类中的方法 —— java.util.Map
- ng执行css3动画
- zookeeper启动失败解决方法
- MySQL数据库简单了解
- Mac下librdkafka下载安装
- ajax怎么回调函数,ajax使用回调函数的例子(原生代码和jquery代码)
- Phyton学习笔记
- linux fedora centos,linux – 我为什么要使用CentOS而不是Fedora
- 关于jar包无法正常打开的解决方法
- DELL(i7版本)麦克风杂音问题解决方案
- Switch可以用string做参数吗
- 2口kvm切换器使用方法简述
- 查看LINUX放开端口,linux如何查看端口是否开放?
热门文章
- 自定义标签 (转载)
- vts传感器采取船舶的_【火炬高企】船舶通讯导航设备专家新诺航科
- windows核心编程-第二章 Unicode
- hdu4772 水模拟
- 【Linux 内核 内存管理】优化内存屏障 ④ ( 处理器内存屏障 | 八种处理器内存屏障 | 通用内存屏障 | 写内存屏障 | 读内存屏障 | 数据依赖屏障 | 强制性内存屏障 |SMP内存屏障 )
- 【C 语言】文件操作 ( 文件加密解密 | 加密文件 )
- 【Android 逆向】ELF 文件格式 ( ELF 程序头入口大小 | ELF 程序头入口个数 | ELF 文件节区头入口大小 | ELF 文件节区头入口个数 | 字符表序号 )
- 【Android 逆向】Android 系统文件分析 ( /proc/pid 进程号对应进程目录 | oom_adj | maps | smaps | mem | task | environ )
- 【错误记录】GitHub 提交代码失败、获取代码失败、连接超时、权限错误、ping 请求连接超时 ( 查找域名对应 IP | 设置 host 文件 )
- 【数理逻辑】谓词逻辑 ( 个体词 | 个体域 | 谓词 | 全称量词 | 存在量词 | 谓词公式 | 习题 )