`
金诚铸就
  • 浏览: 10089 次
最近访客 更多访客>>
PXY
社区版块
存档分类
最新评论

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

    博客分类:
  • java
阅读更多
关于Collections.sort(List list,Comparator comparator) 的说明

Comparator是个接口,主要比的是两个对象,比较规则是你自己写的
,可以重写他的compare()和equals()这两个方法,也就是说比较的方法,如果是null的话,就是使用元素的自然顺序,如1,2,4,5,9,8,7,就是1,2,4,5,7,8,9这样,字母也可以



compare(a,b)方法:根据第一个参数小于、等于或大于第二个参数分别返回负整数、零或正整数



例:            
            
import java.util.Comparator;            
import java.util.List;            
import java.util.ArrayList;            
import java.util.Collections;            
            
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 void setName(String name) {            
  this.name = name;            
}             
}            
            
class ComparatorUser implements Comparator{            
            
public int compare(Object arg0, Object arg1) {            
  User user0=(User)arg0;            
  User user1=(User)arg1;            
  //首先比较年龄,如果年龄相同,则比较名字            
  int flag=user0.getAge().compareTo(user1.getAge());            
  if(flag==0){            
   return user0.getName().compareTo(user1.getName());            
  }else{            
   return flag;            
  }              
}            
            
}            
            
public class SortTest {            
            
            
public static void main(String[] args){            
  List userlist=new ArrayList();            
  userlist.add(new User("dd","4"));            
  userlist.add(new User("aa","1"));            
  userlist.add(new User("ee","5"));            
  userlist.add(new User("bb","2"));              
  userlist.add(new User("ff","5"));            
  userlist.add(new User("cc","3"));            
  userlist.add(new User("gg","6"));            
              
  ComparatorUser comparator=new ComparatorUser();            
  Collections.sort(userlist, comparator);            
               
  for (int i=0;i<userlist.size();i++){            
   User user_temp=(User)userlist.get(i);            
      System.out.println(user_temp.getAge()+","+user_temp.getName());             
  }            
              
}            
}            
            
//首先比较年龄,如果年龄相同,则比较名字            
            
结果:            
   1, aa            
   2, bb            
   3, cc            
   4, dd            
   5, ee            
   5, ff            
   6, gg            
分享到:
评论

相关推荐

    java List 排序 Collections.sort

    NULL 博文链接:https://xuedong.iteye.com/blog/1147254

    JAVA对list集合进行排序Collections.sort()

    主要介绍了JAVA对list集合进行排序Collections.sort(),需要的朋友可以参考下

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

    主要介绍了Java Collections.sort()实现List排序的默认方法和自定义方法,需要的朋友可以参考下

    用Java集合中的Collections.sort方法如何对list排序(两种方法)

    本文通过两种方法给大家介绍java集合中的Collections.sort方法对list排序,第一种方式是list中的对象实现Comparable接口,第二种方法是根据Collections.sort重载方法实现,对collections.sort方法感兴趣的朋友一起...

    java 字符串排序

    字符串数组 排序

    JAVA中Collections工具类sort()排序方法

    主要介绍了JAVA中Collections工具类sort()排序方法,非常具有实用价值,需要的朋友可以参考下。

    Java 字母数字字符串 混合排序(绝对超值管用)

    List&lt;String&gt; location=new ArrayList(); 一行代码轻松搞定混合排序问题 Collections.sort(location, new SortUtils(true));

    C# 中 List.Sort运用(IComparerT)排序用法

    在项目中由于要解析一个箱单号,要求从小到大的顺序。由于循环从数据库取出来取得值不是按照...  使用指定的比较器对整个 List&lt;T&gt; 中的元素进行排序。  命名空间: System.Collections.Generic  程序集: msco

    ArrayList反转排序1

    用百Collections.reverse(list)即可度。}//先升序排序Collections.sort(list);//再反转Collections.r

    C#通过IComparable实现ListT.sort()排序

    通常来说,List&lt;T&gt;.sort()可以实现对T的排序,比如List&lt;int&gt;.sort()执行后集合会按照int从小到大排序。如果T是一个自定义的Object,可是我们想按照自己的方式来排序,那该怎么办呢,其实可以用过IComparable接口重写...

    C#基础教程之IComparable用法,实现ListT.sort()排序

    List&lt;T&gt;.sort()可以实现对T的排序,比如List&lt;int&gt;.sort()执行后集合会按照int从小到大排序。如果T是一个自定义的Object,可是我们想按照自己的方式来排序,那该怎么办呢,其实可以用过IComparable接口重写CompareTo...

    set.list.map接口

    // System.out.println(list.get(i)); // } Iterator Iter=list.iterator(); while(Iter.hasNext()){ System.out.println(Iter.next()); } } } 3.Map(映射&lt;集合&gt;)是无序的,是一种把键对象和值对象...

    Java对象排序、中文排序、SortedSet排序使用和源码讲解

    但是通常排序算法不得不让程序员在写代码的过程中陷入对底层很多指针和位置的理解,java不希望这样,所以排序大多可以由java帮你做掉,例如,你要对一个数组排序,通过:Collections.sort(list)那么这个list被排序了...

    11集合.rarjava 集合类

    java 集合类的排序主要是用Collections.sort方法,Collections和Collection是不一样的,前者是类,后者是接口,在这里,我主要是想说明它的sort方法的几种类型, 提示:实现接口的方法时,只需要比较两个数,大的返回1,...

    java面试.rar

    List 和 Set 的区别,final finally finalize,Java获取反射的三种方法,Arrays.sort 和 Collections.sort 实现原理 和区别

    Collections集合工具类排序.docx

    数组有工具类Arrays,集合也有一个工具类Collections,这里练习一下集合工具类的排序方法,顺便过一下sort排序方法,比较器。 sort方法 sort(List&lt;T&gt; list):根据其元素的natural ordering对指定的列表进行排序。 ...

    JAVA 一道编程题目

    JAVA 一道编程题目 核心代码: Collections.sort(list, String.CASE_INSENSITIVE_ORDER);//根据指定的字母方式排序

    【Robotframework】列表List的常用操作.pdf

    8 Remove (Values) From List-删除list中某个值 Remove From List:按照index删除,⼀次删除1个 Remove Values From List:按照value值删除,⼀次可删除多个 ⽰例如2.6 9 Sort List–升序排序 对list做升序排序,⽰...

    Java 生成随机字符串数组的实例详解

    主要介绍了Java 生成随机字符串数组的实例详解的相关资料,主要是利用Collections.sort()方法对泛型为String的List 进行排序,需要的朋友可以参考下

    java7hashmap源码-JavaToRemember:Java需要记住的事情

    //对一个数组进行排序 Collections.reverse() //对一个 LIST Arrays.toString(char [] a) //转换为字符串 charAt(int x) //获取特定索引处的字符length() //字符串长度length //数组大小``` 作为链表的“元素”的...

Global site tag (gtag.js) - Google Analytics