Java中List的排序
2019独角兽企业重金招聘Python工程师标准>>>
第一种方法,就是list中对象实现Comparable接口,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
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;
}
@Override
public int compareTo(Person arg0) {
return this .getOrder().compareTo(arg0.getOrder());
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
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());
}
}
|
第二种方法,就是在重载Collections.sort方法,代码如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
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;
}
}
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
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());
}
}
|
转载于:https://my.oschina.net/u/1177694/blog/508053
Java中List的排序相关推荐
- java中集合的排序
java中集合的排序 import java.util.Set; import java.util.HashSet; import java.util.List; import java.util.A ...
- java冒泡排序_Java专题(二):Java中常见的排序算法有哪些?---冒泡排序
排序相关的的基本概念排序: 将一组杂乱无章的数据按一定的规律顺次排列起来. 数据表( data list): 它是待排序数据对象的有限集合. 排序码(key):通常数据对象有多个属性域,即多个数据成员 ...
- java中Collections.sort() 排序函数的用法
java中Collections.sort() 排序函数的用法: 用Collections.sort方法对list排序有两种方法 第一种是list中的对象实现Comparable接口,如下: /** ...
- java 中的排序_浅谈java中常见的排序
浅谈java中常见的排序 学过java的人都知道,排序这一部分初次接触感觉还是有点难以理解,很多地方也会用到.然而,在java中常见的排序方法:冒泡排序,选择排序,插入排序等等.下面就让我们一起揭开他 ...
- java中的默认排序规则,C#中列表,集合排序Sort,OrderBy与Java排序规则默认不一致...
最近遇到一个排序小问题,java中的sort与C#中的Sort排出来结果不一样.后面写了两段小代码,结果确实不一样.var list2 = new List() { "AA",&q ...
- Java中常见的排序算法代码演示
package cn.xbz;import java.util.Arrays;/*** 各种排序法的演示* @author xbz**/ public class ArraySort {public ...
- 更高效地刷OJ——Java中常用的排序方法,Array.sort(),Arrays.parallelSort(), Collections.sort()
对于几大传统的排序算法我在前面博客中已经介绍过了,如果有想要了解的同学可以去看这篇博客八大排序:冒泡排序,选择排序,插入排序,堆排序,希尔排序,归并排序,计数排序但是我们在刷题过程中如果题目中没有对排 ...
- JAva中的自然排序是什么意思_Java中的自然排序顺序字符串比较 – 是内置的吗?...
参见英文答案 > Sort on a string that may contain a number 19个 我想要一些保 ...
- Java 中使用sort排序
刷题过程中常常遇到排序问题,Java中自带的sort方法可以非常方便的帮助我们进行排序. 常见的排序问题有两种情形: 1.对一个数组进行排序. 2.对自定义类型的类进行排序. 一,对数组进行排序: 通 ...
- java中Collections.sort排序详解
Comparator是个接口,可重写compare()及equals()这两个方法,用于比价功能:如果是null的话,就是使用元素的默认顺序,如a,b,c,d,e,f,g,就是a,b,c,d,e,f, ...
最新文章
- ICRA 2021 | π-LSAM:基于平面优化的激光雷达平滑与建图算法
- hystrix之熔断
- hmc如何进入aix系统_linux系统中如何进入退出vim编辑器,方法及区别
- vue3中 使用 swiper 插件,自定义切换按钮, 将 前进后退 、左右切换 按钮放到容器外部
- 表单和字都居中_APP 分享 | 6 款黑科技工具,低调收藏,每一款都很强大!
- rabbitmq+topic+java_译:5.RabbitMQ Java Client 之 Topics (主题)
- 帆软与中国环境科学院合作,共同推进数字化管理建设
- CVPR 2020 | 基于知识蒸馏的分块监督NAS
- 已编辑好的mysql_安装好的mysql改变数据库文件位置
- 对我帮助很大的ESXCLI命令
- LINUX异步信号集合示例代码
- spring catch了异常还是回滚了_干货:Spring 踩坑之@Transactional 神奇失效
- IDEA统计项目代码量
- 一行代码蒸发64亿?!形式化验证帮你一秒避免悲剧
- SPRING IN ACTION 第4版笔记-第十章Hitting the database with spring and jdbc-003-四种方式获取DataSource...
- 王达人漫展1,cosplay
- linux for 迅雷,关于迅雷for linux
- DINO 论文精度,并解析其模型结构 DETR 的变体
- 指令于动作之forward动作
- Strippednot stripped
热门文章
- struts2配置问题
- java异常代码分析
- PHP使用指南,PHP使用指南-cookies部分
- iphone屏蔽系统更新_iOS13屏蔽系统更新升级教程
- java 静态方法 多线程_Java静态方法的线程安全性问题
- python怎么打开一个窗口_python – 使按钮一次只打开一个窗口(通过关闭Toplevel窗口启用按钮)...
- python end of statement_17个新手常见Python运行时错误
- java中Date类、DateFormat及SimpleDateFormat简介
- 联想Y 系列 四面壳展示
- 2022年中国企业直播多场景应用策略白皮书