zoukankan      html  css  js  c++  java
  • comparatorChain实现对Bean多字段排序

    import java.util.ArrayList;
    import java.util.Arrays;
    import java.util.Collections;
    import java.util.Date;
    import java.util.List;
    
    import org.apache.commons.beanutils.BeanComparator;
    import org.apache.commons.collections.comparators.ComparatorChain;
    
    import com.google.gson.Gson;
    
    public class Main {
        
        
        public static class Cats{
            private Integer years;
            private String  name;
            private String  entryDate;
            public Integer getYears() {
                return years;
            }
            public void setYears(Integer years) {
                this.years = years;
            }
            public String getName() {
                return name;
            }
            public void setName(String name) {
                this.name = name;
            }
            public String getEntryDate() {
                return entryDate;
            }
            public void setEntryDate(String entryDate) {
                this.entryDate = entryDate;
            }
        }
    
        
        @SuppressWarnings("unchecked")
        public static void main(String[] args) {
            List<Cats> cats = new ArrayList<>();
            Cats cat = new Cats();
            cat.setEntryDate(DateUtils.formatDate(new Date(), "yyyyMMdd HH:mm:ss"));
            cat.setName("smith");
            cat.setYears(21);
            
            Cats cat1 = new Cats();
            cat1.setEntryDate(DateUtils.formatDate(new Date(), "yyyyMMdd HH:mm:ss"));
            cat1.setName("KAMIER");
            cat1.setYears(36);
            
            Cats cat2 = new Cats();
            cat2.setEntryDate(DateUtils.formatDate(new Date(), "yyyyMMdd HH:mm:ss"));
            cat2.setName("STIWEN");
            cat2.setYears(18);
            
            Cats cat3 = new Cats();
            cat3.setEntryDate(DateUtils.formatDate(new Date(), "yyyyMMdd HH:mm:ss"));
            cat3.setName("AKAI");
            cat3.setYears(88);
            cats.add(cat3);cats.add(cat2);cats.add(cat1);cats.add(cat);
            
            ComparatorChain comparatorChain = new ComparatorChain();
            comparatorChain.addComparator(new BeanComparator("entryDate"));
            //comparatorChain.addComparator(new BeanComparator("years"));
    //      Arrays.sort(cats.toArray(), comparatorChain);
            Collections.sort(cats, comparatorChain);
            System.out.println("多字段排序:");
            System.out.println(new Gson().toJson(cats));
        }
    }
    
  • 相关阅读:
    快捷键----------快人快语
    有趣的java小项目------猜拳游戏
    java随机数组
    if-else 循环嵌套结构
    java九九乘法表
    java内存基础(一)
    C语言入门级教程:基础数据类型与基本算法,学编程从此刻开始!
    今日份编程知识分享,C++的循环结构!
    摸鱼也要有技巧!3个 linux 命令行工具让你假装很忙....
    编程小白须知,阿里、百度、华为这些大厂都用什么编程语言?别说不知道!
  • 原文地址:https://www.cnblogs.com/lhl-shubiao/p/12784490.html
Copyright © 2011-2022 走看看