Java Collections.sort方法对list集合排序

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 + "]";
    }

}

时间: 2024-12-28 21:02:42

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

Java使用sort()方法对数组进行排序

1 package com.yzy.test; 2 3 import java.util.Arrays; 4 5 public class Test { 6 7 /** 8 * @param args 9 */ 10 public static void main(String[] args) { 11 int[] array = { 43, 64, 21, 6565, 3424, 22, 6523, 345 }; 12 Arrays.sort(array); 13 for (int i : a

java 的sort方法

java的sort方法一般两种,分Array.sort() 和Collection.sort() Arrays.sort(T[], Comparator < ? super T > c) 方法用于对象数组按用户自定义规则排序. Collections.sort(List<T>, Comparator < ? super T > c)方法用于对象集合按用户自定义规则排序. comparable是通用的接口,用户可以实现它来完成自己特定的比较.我们使用Arrays对数组进行

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

1.java提供的默认list排序方法 主要代码: List<String> list = new ArrayList();list.add("刘媛媛"); list.add("王硕");list.add("李明");list.add("刘迪");list.add("刘布"); //升序Collections.sort(list,Collator.getInstance(java.util.Lo

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

要想对List进行排序,可以让实体对象实现Comparable接口,重写compareTo方法即可实现按某一属性排序,但是这种写法很单一,只能按照固定的一个属性排序,没变法变化.通过下面这种方法,可以动态的指定List按照某一个属性进行排序,例子很简单,看代码就明白了. import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; publ

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

Collections.sort( )分为两部分,一部分为排序规则,一部分为排序算法 . 规则用来判断对象,算法则考虑如何进行排序 对于自定义对象,sort()不知道规则,所以无法比较,这种情况下一定要定义排序规则.方式有两种: 第一种,java.lang下面的一个接口:Comparable.可以让自定义对象实现一个Comparable接口,这个接口只有一个方法comparableTo(Object o) 其规则是当前对象与o对象进行比较,返回一个int值,系统根据此值进行排序. 如当前对象>o

java Collections.sort()实现List排序自定义方法

方法一: package testSimple; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class testCollectionSort { public static void main(String[] args) { List<TblPowerGroup> list = new ArrayLis

java中sort()方法的用法

在java.util.Collections类中有个sort()方法,主要是用来给数组排序,排序的规则可以自己重写. (一)给数组{2,3,1,5}按自小到大排序 public class Main{ public static void main(String[] args){ ArrayList<Integer> list=new ArrayList<>(); list.add(2); list.add(3); list.add(1); list.add(5); Collect

Java List sort方法

Collection类自身有一个sort方法,需要传入一个 Comparator 类,并重写它的compare方法. 示例代码: package com.imooc.collection; import java.util.*; public class SetTest { private final List <Course> coursesToSelect = new ArrayList<>(); private final Scanner scanner = new Scan

jdk1.7和jdk1.6的Collections.sort方法不一样

Java代码 Collections.sort(list, new Comparator<AAAVo>() { @Override public int compare(AAAVo vo1, AAA vo2) { if(vo1==null||vo2==null){ return 0; } if(Integer.valueOf(vo1.getCouponValue())<Integer.valueOf(vo2.getCouponValue())){ if(vo1.getConsumeTim