Java中对List集合排序的两种方法
第一种方法,就是list中对象实现Comparable接口,代码如下:
public class Person implements Comparable<Person> {private String name;private Integer order;/*** @return the name*/public String getName() {return name;}/*** @param name* the name to set*/public void setName(String name) {this.name = name;}/*** @return the order*/public Integer getOrder() {return order;}/*** @param order* the order to set*/public void setOrder(Integer order) {this.order = order;}@Overridepublic int compareTo(Person arg0) {return this.getOrder().compareTo(arg0.getOrder());}}
View Code
public static void main(String[] args) {List<Person> listA = new ArrayList<Person>();Person p1 = new Person();Person p2 = new Person();Person p3 = new Person();p1.setName("name1");p1.setOrder(1);p2.setName("name2");p2.setOrder(2);p3.setName("name3");p3.setOrder(3);listA.add(p2);listA.add(p1);listA.add(p3);Collections.sort(listA);for (Person p : listA) {System.out.println(p.getName());} }
View Code
第二种方法,就是在重载Collections.sort方法,代码如下:
public class Person {private String name;private Integer order;/*** @return the name*/public String getName() {return name;}/*** @param name* the name to set*/public void setName(String name) {this.name = name;}/*** @return the order*/public Integer getOrder() {return order;}/*** @param order* the order to set*/public void setOrder(Integer order) {this.order = order;}}
View Code
public static void main(String[] args) {List<Person> listA = new ArrayList<Person>();Person p1 = new Person();Person p2 = new Person();Person p3 = new Person();p1.setName("name1");p1.setOrder(1);p2.setName("name2");p2.setOrder(2);p3.setName("name3");p3.setOrder(3);listA.add(p2);listA.add(p1);listA.add(p3);Collections.sort(listA, new Comparator<Person>() {public int compare(Person arg0, Person arg1) {return arg0.getOrder().compareTo(arg1.getOrder());}});for (Person p : listA) {System.out.println(p.getName());}}
View Code
两次执行的结果都是:
name1
name2
name3
转载于:https://www.cnblogs.com/longshiyVip/p/5102231.html
Java中对List集合排序的两种方法相关推荐
- java中集合的排序_Java中集合排序的两种方法
import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.u ...
- java数组循环扩容_Java中实现数组动态扩容的两种方法
Java中实现数组动态扩容的两种方法 java中初始化一个数组需要定义数组的容量,而在我们使用数组时往往会遇到数组容量不够的情况,此时我们就需要通过动态扩容的方式来来根据需求扩大数组的容量. 我们可以 ...
- 计算机word降序排列怎么做,word中怎么进行排序的两种方法
word文档中表格除了作为我们的编辑和展示功能之外,还可以进行排序功能,十分方便,那么下面就由学习啦小编给大家分享下word中进行排序的技巧,希望能帮助到您. word中进行排序方法一: 步骤一:将光 ...
- python列表的排序方法_pythonlist排序的两种方法及实例
本文主要介绍了python list排序的两种方法及实例讲解.具有很好的参考价值,下面一起来看下吧 对List进行排序,Python提供了两个方法 方法1.用List的内建函数list.sort进行排 ...
- Java构造和解析Json数据的两种方法详解一
在www.json.org上公布了很多JAVA下的json构造和解析工具,其中org.json和json-lib比较简单,两者使用上差不多但还是有些区别.下面首先介绍用json-lib构造和解析Jso ...
- JAVA中获取文件MD5值的四种方法
JAVA中获取文件MD5值的四种方法其实都很类似,因为核心都是通过JAVA自带的MessageDigest类来实现.获取文件MD5值主要分为三个步骤,第一步获取文件的byte信息,第二步通过Messa ...
- Java中Double保留自定义小数位的几种方法
Java中Double保留自定义小数位的几种方法 在Java语言编程中我们有时候会有保留指定小数位的需求,那应该如何操作呢,下面带来几种方法:(这里的所有方法以保留两位小数位为例) 一. 四舍五入并保 ...
- [转]DES加密 java与.net可以相互加密解密两种方法
[转]原文地址:http://jumpman.javaeye.com/blog/605996 DES加密 java与.net可以相互加密解密两种方法 文章分类:Java编程 通过这个方法可以实现jav ...
- Java学习笔记:创建线程的两种方法
Java学习笔记:创建线程的两种方法 一.预备工作 1.创建Maven项目ThreadDemo 2.在pom.xml里添加依赖 二.继承Thread类创建子线程
最新文章
- 4模型导出_项目模型规范总结 游戏模型制作的注意事项
- Android事件分发机制解析
- aix解压tgz_AIX 上压缩与解压缩 各种文件格式原理说明
- java不是有效_单选(2分) 以下哪个不是有效的Java变量名?
- Requests请求库
- java中字符串后加Box_字符串未显示在JavaFX中ComboBox的Tableview上
- linux shell编程if语句内判断参数
- VScode远程连接linux
- iphone ping_如何在iPhone上运行Ping(网络诊断)
- 为【桌面右键菜单 - 新建文档】添加快捷键
- GitHub 下载单个文件/文件夹
- html qq表情插件,【精品】14款优秀的jQuery和CSS3插件及源码
- 使用GDK7调试Linux内核之KVM
- JavaScript基础复习之数据类型,解读数据类型不为人知的一面
- WORDPRESS 网站打不开 error establishing a database connection 、is marked as crashed and should be repa
- Xmind8 (update8)破解教程
- 【室内温度+树莓派性能监控】树莓派+DS18B20温度传感器+0.96寸OLED显示屏使用及安装经验分享
- [艺术创作]摄影构图的传统法则
- DC-DC——CUK斩波电路
- 工业级4G路由器模组主板 全网通WiFi插SIM卡就上网 PLC远程控制无线通讯模块
热门文章
- 月薪20k的web前端开发程序员,他们都会的这6招
- 刚毕业想学习web前端,该怎么学才能最快入门?
- java中每个类都有子类,Java中所有的类都是从( )类或其子类派生而来的。
- winxp制作服务器,你要知道的WinXP服务器操作系统安装的方法
- mysql要将语句反复执行15次_MySQL多表查询疑问
- windows服务器迁到_将文件服务器及域控制器从2003迁移至Windows Server 2008 R2
- FreeRTOS+STM32F103中断中发送任务通知单片机死机问题
- 驱动中的资源共享和临界代码保护
- keras笔记-mnist数据集上的简单训练
- 在win10在使用cmder代替Linux是怎样的体验