1、排序测试类

package com.ljq.test;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List; public class UserSort { public static void main(String[] args) {
List<User> userList =new ArrayList<User>();
userList.add(new User(1,2.2));
userList.add(new User(2,1.1));
userList.add(new User(3,4.4));
userList.add(new User(4,5.5));
userList.add(new User(5,3.3)); Collections.sort(userList, new Comparator<User>() {
public int compare(User u1, User u2) {
return new Double(u1.getSalary()).compareTo(new Double(u2.getSalary())); //升序
// return new Double(u2.getSalary()).compareTo(new Double(u2.getSalary())); //降序
}
}); for(User user : userList){
System.out.println(user);
}
}
}

2、User对象,存储javabean属性

package com.ljq.test;

import java.io.Serializable;

/**
* 用户
*
* @author jqlin
*/
public class User implements Serializable{
private static final long serialVersionUID = 1L; private long id; // 主键
private double salary; // 薪资 public User() { } public User(long id, double salary) {
super();
this.id = id;
this.salary = salary;
} public long getId() {
return id;
} public void setId(long id) {
this.id = id;
} public double getSalary() {
return salary;
} public void setSalary(double salary) {
this.salary = salary;
} @Override
public String toString() {
return "User [id=" + id + ", salary=" + salary + "]";
} }

3、多字段排序,基本数字类型要用封装数字类型才可以排序,如:new Double()

        Collections.sort(dataList, new Comparator<OrderVO>(){
public int compare(OrderVO a, OrderVO b) {
//先按期号降序,如果期号相同按玩法名称降序,如果玩法名称相同按投注时间降序
int result = b.getCreateTime().compareTo(a.getCreateTime());
if(result == Zero.INT){
return new Integer(a.getSort()).compareTo(new Integer(b.getSort()));
}else{
return result;
}
}
});

Java Collections.sort方法对list集合排序的更多相关文章

  1. java中sort方法的自定义比较器写法(转载)

    java中sort方法的自定义比较器写法 摘要 在做一些算法题时常常会需要对数组.自定义对象.集合进行排序. 在java中对数组排序提供了Arrays.sort()方法,对集合排序提供Collecti ...

  2. 用Java集合中的Collections.sort方法对list排序的两种方法

    用Collections.sort方法对list排序有两种方法第一种是list中的对象实现Comparable接口,如下: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...

  3. java中Collections.sort()方法实现集合排序

    1.Integer/String泛型的List进行排序 List <Integer> integerlist = new ArrayList<Integer>();   //定 ...

  4. Java中使用Collections.sort()方法对数字和字符串泛型的LIst进行排序

    在List的排序中常用的是Collections.sort()方法,可以对String类型和Integer类型泛型的List集合进行排序. 首先演示sort()方法对Integer类型泛型的List排 ...

  5. java Collections.sort()

    sort()是Collections中的静态方法,用于对List容器中的元素排序. 如容器list中存储的是Integer对象 List<Integer> list =Arrays.asL ...

  6. Java基础集锦——利用Collections.sort方法对list排序

    要想对List进行排序,可以让实体对象实现Comparable接口,重写compareTo方法即可实现按某一属性排序,但是这种写法很单一,只能按照固定的一个属性排序,没变法变化.通过下面这种方法,可以 ...

  7. java Collections.sort()实现List排序的默认方法和自定义方法

    1.java提供的默认list排序方法 主要代码: List<String> list = new ArrayList();list.add("刘媛媛"); list. ...

  8. java Collections.sort()实现List排序的默认方法和自定义方法【转】

    1.java提供的默认list排序方法 主要代码: List<String> list = new ArrayList();list.add("刘媛媛"); list. ...

  9. Collections.sort方法对list排序的两种方式

    Collections.sort( )分为两部分,一部分为排序规则,一部分为排序算法 . 规则用来判断对象,算法则考虑如何进行排序 对于自定义对象,sort()不知道规则,所以无法比较,这种情况下一定 ...

随机推荐

  1. 小规模的流处理框架.Part 1: thread pools

    原文链接:http://ifeve.com/part-1-thread-pools/ 很不错的一篇文章

  2. (转) JAVA中如何设置图片(图标)自适应Jlable等组件的大小

    一.问题: 一个程序,组件上设置某个图片作为图标,因为的label(应该说是组件)已经设定了固定大小, 所以再打开一些大图片时,超过组件大小的部分没显示出来,而小图片又没填充完整个组件 二.解决这个问 ...

  3. 全局变量 HInstance 到底是在什么时候赋值的?

    在学习 资源文件 和 钩子函数 时, 经常用到当前模块句柄(HInstance)这个全局变量. 今天特别想知道, 它到底是在什么时候给赋值的. 输入 HInstance; "Ctrl+鼠标& ...

  4. 【微信开发】—7200s限制,非数据库

    两种微信缓存方式(7200s) 第一种是MemoryCache(缓存的分享票据) public static string Getjsapi_ticket(string AppID, string A ...

  5. 在Sublime TEXT3中添加brogrammer-theme主题配色方案

    喜欢用sublime text3的都知道原配的主题要么就是背景颜色太亮太累眼,要么就是配色太少不便于一眼看出哪有问题.所以在此推荐一个brogrammer-theme的主题,配色非常的全而且添加了扁平 ...

  6. 【转】Oracle索引失效问题

    转自:http://www.cnblogs.com/millen/archive/2010/01/18/1650423.html 失效情况分析: <> 单独的>,<,(有时会用 ...

  7. CentOS 6.5 Python Image Library 配置

    转自:http://www.cnblogs.com/way_testlife/archive/2011/04/17/2019013.html PIL 下载: http://www.pythonware ...

  8. 管理Scope和Lifetime

    Nick Blumhardt’s Autofac lifetime primer 是一个学习Autofac Scope和Lifetime的好地方.这里有很多未理解的,混淆的概念,因此我们将尝试在这里完 ...

  9. [BZOJ1562][ZJOI2007] 最大半连通子图

    Description Input 第一行包含两个整数N,M,X.N,M分别表示图G的点数与边数,X的意义如上文所述.接下来M行,每行两个正整数a, b,表示一条有向边(a, b).图中的每个点将编号 ...

  10. HTTP请求与响应

    HTTP协议是超文本传输协议的所写,它是TCP/IP协议的一个应用层协议,用于定义web浏览器和web服务器之间交换数据的过程. TCP/IP协议的应用层协议还有POP3等协议 一.HTTP请求 (一 ...