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 集合进行排序操作.比如从第三方接口中获取所有用户的列表,但列表默认是以用户编号从小到大进行排序的,而我们的系统需要按照用户的年龄从大到小进 ...
随机推荐
- ArcGIS Server开发教程系列(7)使用ArcGIS API for Javascript-Hello World
ArcGIS API for Javascript API下载地址:http://support.esrichina-bj.cn/2011/0223/960.html 选择最新的下载就好了,目前是3 ...
- Java排序算法——希尔排序
package sort; //================================================= // File Name : ShellSort //------- ...
- thinkphp 后台权限列表
核心代码: // 检测用户权限权限 public function admin_priv($action){ $action_list = session('user.action_list'); i ...
- 【PHP开发篇】一个统计客户端商机提交的获取IP地址
1.对客服提交数据的ip地址记录. 获取ip地址的方法: public function getIP() { global $ip; if (getenv("HTTP_X_REAL_IP&q ...
- 媒体查询判断ipad和iPhone各版本
/* 判断ipad */ @media only screen and (min-device-width : 768px) and (max-device-width : 1024px){ /* s ...
- [Machine Learning] Learning to rank算法简介
声明:以下内容根据潘的博客和crackcell's dustbin进行整理,尊重原著,向两位作者致谢! 1 现有的排序模型 排序(Ranking)一直是信息检索的核心研究问题,有大量的成熟的方法,主要 ...
- APP注释代码
<meta name="viewport" content="width=device-width,height=device-height,inital-scal ...
- JavaScript深入浅出5-数组
慕课网教程视频地址:Javascript深入浅出 数组:值的有序集合 创建数组:字面量,构造器new array() 数组的读写:push() 尾部加入新元素 unshift() 头部加入新元素 po ...
- eclipse 快捷键
Eclipse快捷键大全 Ctrl+1 快速修复(最经典的快捷键,就不用多说了) Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加) Ctrl+Alt+↑ 复制当前行到 ...
- 安装rabbitmq
安装配置epel源 $ rpm -ivh http://dl.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm 安装erlan ...