List排序Collections.sort 重写compare

 1 static List<Integer> intList = Arrays.asList(2,5,7, 3, 1);
 2
 3       public static void main(String[] args) {
 4
 5           System.out.println("before sort:");
 6             PrintUtil.showList(intList);
 7             System.out.println("=========================");
 8             Collections.sort(intList,new Comparator<Integer>() {
 9
10                 public int compare(Integer o1, Integer o2) {
11                     // 返回值为int类型,大于0表示正序,小于0表示逆序
12                     System.out.println("o2-o1:"+(o2-o1)+"========o2="+o2+"o1="+o1);
13                     if(o2>o1){
14                         return -1;
15                     }else{
16                         return 1;
17                     }
18                 }
19             });
20             System.out.println("after sort:");
21             PrintUtil.showList(intList);
22
23     }

根据需求排序,方法内比较两个对象的参数哪个优先,返回值为int类型,大于0表示正序,小于0表示逆序

原文地址:https://www.cnblogs.com/locker777/p/10083886.html

时间: 2024-10-10 21:26:40

List排序Collections.sort 重写compare的相关文章

列表排序 --- Collections.sort()

Collections.sort()能够实现对List等Collection集合排序 Collections.sort(List<Type> list) 这种情况要求Type类型自身实现Comparable接口(类中覆盖compareTo方法),如下所示: 或者下面这种情况 Collections.sort(List<Type> list,new SortComparator()); 这种情况下无需再Type上实现comparable接口,需要单独实现Comparator接口(实现

List排序Collections.sort()

方式一: 使用public static <T extends Comparable<? super T>> void sort(List<T> list)方法对list进行排序: 在要排序的list对象中 implements Comparable 并重写compareTo(方法) public class ClickInfo implements Comparable<ClickInfo>{ private Integer cid; private St

java List 排序 Collections.sort() 对 List 排序

实体类: class User { String name; String age; public User(String name,String age){ this.name=name; this.age=age; } public String getAge() { return age; } public void setAge(String age) { this.age = age; } public String getName() { return name; } public

java List 排序 Collections.sort()

用Collections.sort方法对list排序有两种方法  第一种是list中的对象实现Comparable接口,如下: [java] view plain copy /** * 根据order对User排序 */ public class User implements Comparable<User>{ private String name; private Integer order; public String getName() { return name; } public

Java中Collections.sort()排序详解

第一种:Comparable 排序接口 若一个类实现了Comparable接口,就意味着"该类支持排序". 假设"有一个List列表(或数组),里面的元素是实现了Comparable接口的类",则该List列表(或数组)可以通过 Collections.sort(或 Arrays.sort)进行排序. 此外,"实现Comparable接口的类的对象"可以用作"有序映射(如TreeMap)"中的键或"有序集合(Tree

Java语言利用Collections.sort对Map,List排序

1.main方法包含TreeMap排序1,TreeMap排序2,HashMap排序,List<Integer>排序,List<Bean>排序,List<Map>排序 package com.tao.test; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.HashMap; import java.util.Li

Java中Collections.sort()的用法

Java中Collections.sort()的使用: 在日常开发中,很多时候都需要对一些数据进行排序的操作.然而那些数据一般都是放在一个集合中如:Map ,Set ,List 等集合中.他们都提共了一个排序方法 sort(),要对数据排序直接使用这个方法就行,但是要保证集合中的对象是可比较的. 怎么让一个对象是 可比较的,那就需要该对象实现 Comparable<T> 接口啦.然后重写里面的compareTo()方法.我们可以看到Java中很多类都是实现类这个接口的 如:Integer,Lo

Collections.sort()用法简单介绍

在开发过程中,在对list集合的排序中遇到了点小阻碍.记录之,与君共勉. 我们先来看看,Collections.sort()的简单用法,代码: package com.wh.util; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.Collections; import java.util.List; public class Test {

Collections.sort的两种用法 转

Java代码   /** * @author guwh * @version 创建时间:2011-11-3 上午10:49:36 * 类说明 */ package com.jabberchina.test; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; public class SortTest { public stati