我是靠谱客的博主 迅速板凳,最近开发中收集的这篇文章主要介绍groovy给list排序groovy List 多字段排序,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

groovy List 多字段排序

复制代码
List<Map<String, Object>> list = [["loc": "A-02-01","code":"asdf"],["loc": "B-01-01","code":"ff"],
                                  ["loc": "B-01-01","code":"23"], ["loc": "A-01-04","code":"ghg"]]
list.sort{a,b->
    if (a.loc < b.loc) {
        return -1
    }else if (a.loc == b.loc) {
        a.code.compareTo(b.code)
    } else {
        return 1
    }
}
复制代码
Result: [[loc:A-01-04, code:ghg], [loc:A-02-01, code:asdf], [loc:B-01-01, code:23], [loc:B-01-01, code:ff]]

  1. package test.tool.gui.dbtool.util;  
  2.   
  3. import java.util.ArrayList;  
  4. import java.util.Collections;  
  5. import java.util.Comparator;  
  6. import java.util.List;  
  7.   
  8. public class Test {  
  9.   
  10.     public static void main(String[] args) {  
  11.           
  12.         List<Student> list = new ArrayList<Student>();  
  13.           
  14.         //创建3个学生对象,年龄分别是20、19、21,并将他们依次放入List中  
  15.         Student s1 = new Student();  
  16.         s1.setAge(20);  
  17.         Student s2 = new Student();  
  18.         s2.setAge(19);  
  19.         Student s3 = new Student();  
  20.         s3.setAge(21);  
  21.         list.add(s1);  
  22.         list.add(s2);  
  23.         list.add(s3);  
  24.           
  25.         System.out.println("排序前:"+list);  
  26.           
  27.         Collections.sort(list, new Comparator<Student>(){  
  28.   
  29.             /*  
  30.              * int compare(Student o1, Student o2) 返回一个基本类型的整型,  
  31.              * 返回负数表示:o1 小于o2,  
  32.              * 返回0 表示:o1和o2相等,  
  33.              * 返回正数表示:o1大于o2。  
  34.              */  
  35.             public int compare(Student o1, Student o2) {  
  36.               
  37.                 //按照学生的年龄进行升序排列  
  38.                 if(o1.getAge() > o2.getAge()){  
  39.                     return 1;  
  40.                 }  
  41.                 if(o1.getAge() == o2.getAge()){  
  42.                     return 0;  
  43.                 }  
  44.                 return -1;  
  45.             }  
  46.         });   
  47.         System.out.println("排序后:"+list);  
  48.     }  
  49. }  
  50. class Student{  
  51.       
  52.     private int age;  
  53.   
  54.     public int getAge() {  
  55.         return age;  
  56.     }  
  57.   
  58.     public void setAge(int age) {  
  59.         this.age = age;  
  60.     }  
  61.     @Override  
  62.     public String toString() {  
  63.         return getAge()+"";  
  64.     }  
  65. }  

最后

以上就是迅速板凳为你收集整理的groovy给list排序groovy List 多字段排序的全部内容,希望文章能够帮你解决groovy给list排序groovy List 多字段排序所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部