JAVA中List 排序
第一种方法,就是list中对象实现Comparable接口,代码如下:
public class SortEntity implements Comparable<SortEntity>{
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public int compareTo(SortEntity o) {
return this.getName().compareTo(o.getName());
}
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.List; import org.junit.Test; public class JUnitTest {
@Test
public void testSort(){
List<SortEntity> selist=new ArrayList<>();
SortEntity se=new SortEntity();
se.setName("abc");
se.setAge(50);
selist.add(se);
SortEntity se1=new SortEntity();
se1.setName("abd");
se1.setAge(13);
selist.add(se1);
SortEntity se2=new SortEntity();
se2.setName("aaa");
se2.setAge(324);
selist.add(se2);
SortEntity se3=new SortEntity();
se3.setName("abe");
se3.setAge(5);
selist.add(se3);
Collections.sort(selist);
for (SortEntity s:selist) {
System.out.println(s.getName());
}
}
}
第二种方法,就是在重载Collections.sort方法,代码如下:
public class SortEntity{
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
}
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List; import org.junit.Test; public class JUnitTest {
@Test
public void testSort(){
List<SortEntity> selist=new ArrayList<>();
SortEntity se=new SortEntity();
se.setName("abc");
se.setAge(50);
selist.add(se);
SortEntity se1=new SortEntity();
se1.setName("abd");
se1.setAge(13);
selist.add(se1);
SortEntity se2=new SortEntity();
se2.setName("aaa");
se2.setAge(324);
selist.add(se2);
SortEntity se3=new SortEntity();
se3.setName("abe");
se3.setAge(5);
selist.add(se3);
Collections.sort(selist,new Comparator<SortEntity>() { @Override
public int compare(SortEntity o1, SortEntity o2) {
return o1.getName().compareTo(o2.getName());
}
});
for (SortEntity s:selist) {
System.out.println(s.getName());
}
}
}
JAVA中List 排序的更多相关文章
- Java中的排序算法(2)
Java中的排序算法(2) * 快速排序 * 快速排序使用分治法(Divide and conquer)策略来把一个序列(list)分为两个子序列(sub-lists). * 步骤为: * 1. 从数 ...
- Comparable与Comparator,java中的排序与比较
1:比较和排序的概念 比较:两个实体类之间按>,=,<进行比较. 排序:在集合类中,对集合类中的实体进行排序.排序基于的算法基于实体类提供的比较函数. 基本型别都提供了默认的比较算法,如s ...
- Java中中文排序器
在Java中使用Collator类按照汉字拼音排序字符串 public static void main(String[] args) throws Exception{ String[] strs ...
- java中的排序
排序是数据结构中重要的一个部分,也是在实际开发中最易遇到的问题之一,当然了,你也可以不考虑这些排序的算法,直接把要排序的数据insert到数据库中,用数据库的order by再select一下,也能产 ...
- [个人原创]关于java中对象排序的一些探讨(三)
这篇文章由十八子将原创,转载请注明,并标明博客地址:http://www.cnblogs.com/shibazijiang/ 对对象排序也可以使用Guava中的Ordering类. 构造Orderin ...
- Java中选择排序,冒泡排序,插入排序,快速排序
一:冒泡法排序 //冒泡排序 注:从小到大排 //特点:效率低,实现简单 //思想:每一趟将待排序序列中最大元素移到最后,剩下的为新的待排序序列,重复上述步骤直到排完所有元素. 这只是冒泡排序 ...
- java中的排序--排序容器_TreeSet与TreeMap
1.TreeSet:数据元素可以排序且不可重复. 对比: (1)Set接口:HashSet,元素必须重写hashcode和equals方法. (2)TreeSet:只要可以排序即可.去重:比较等于0即 ...
- java中的排序(自定义数据排序)--使用Collections的sort方法
排序:将一组数据按相应的规则 排列 顺序 1.规则: 基本数据类型:日常的大小排序. 引用类型: 内置引用类型(String,Integer..),内部已经指定规则,直接使用即可.---- ...
- Java中List排序的3种方法
在某些特殊的场景下,我们需要在 Java 程序中对 List 集合进行排序操作.比如从第三方接口中获取所有用户的列表,但列表默认是以用户编号从小到大进行排序的,而我们的系统需要按照用户的年龄从大到小进 ...
随机推荐
- python更新后yum问题
How to switch between Python versions on Fedora Linux Currently, the default python version on Fedor ...
- WIN10 CMD 启动虚拟WIFI
1.以管理员身份运行命令提示符: 快捷键win+R→输入cmd→回车 2.启用并设定虚拟WiFi网卡: 运行命令:netsh wlan set hostednetwork mode=allow ssi ...
- CSS-border属性制作小三角
1--三角向上下左上.右上.右下.左下这四个方向突出的样式 向左上角突出: border-color: transparent transparent transparent #FFCC00; bor ...
- grunt自动化构建工具
一.什么是grunt? 是基于nodejs的项目构建工具,grunt和grunt插件是通过npm安装并管理的,npm是node.js的包管理器 二.为什么要用grunt? 自动化.对于反复重复的任务, ...
- How to create vlan on Linux (with Cisco Catalyst Switch)
In this article I want to share to you on how to create and configure vlan on Linux through Cisco Ca ...
- 自然语言26_perplexity信息
http://www.ithao123.cn/content-296918.html 首页 > 技术 > 编程 > Python > Python 文本挖掘:简单的自然语言统计 ...
- js只弹窗一次
<script> var alertmessage="检测到您当前浏览器为IE8或以下版本,建议您使用IE9或以上版本,或者火狐.谷歌浏览器,才能体验到最佳效果" fu ...
- [UML]UML系列——包图Package
系列文章 [UML]UML系列——用例图Use Case [UML]UML系列——用例图中的各种关系(include.extend) [UML]UML系列——类图Class ...
- 日期控件jsdate用法注意事项
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 《UNIX网络编程(第3版)》unp.h等源码文件的编译安装
操作系统:Mac OS X 10.11.5 1.下载书中的源代码:点击下载 2.切换到解压后的目录 unpv13e,先查看下 README,依次执行: ./configure cd lib make ...