`
李大伟
  • 浏览: 5111 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
社区版块
存档分类
最新评论

【翻译】java List 排序 Collections.sort() 对 List 排序

阅读更多
//一个POJO例子

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;
}
}



//具体的比较类,实现Comparator接口

import java.util.Comparator;
import java.util.List;
import java.util.ArrayList;
import java.util.Collections;

public 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岁的人,则比较名字(ee,ff),然后排序
   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,...

    Collections集合工具类排序.docx

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

    java面试.rar

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

    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 进行排序,需要的朋友可以参考下

    java常用工具类的使用

    接下来主要学习Java对日期时间的格式化和对数字的格式化处理。  日期时间格式化 Date类中包含了日期和时间,在Java编程中,日期通常指年、月、日,时间则指时、分、秒、毫秒。Java对Date进行格式化使用java.text...

Global site tag (gtag.js) - Google Analytics