zoukankan      html  css  js  c++  java
  • 如何使用 Java 对 List 中每个对象元素按时间顺序进行排序

    如何使用 Java 对 List 中每个对象元素按时间顺序进行排序
    Java 实现

    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    
    public class TestListSort {
        private static class UserBean {
            private String id;
            private String birthday;
    
            public String getId() {
                return id;
            }
    
            void setId(String id) {
                this.id = id;
            }
    
            String getBirthday() {
                return birthday;
            }
    
            void setBirthday(String birthday) {
                this.birthday = birthday;
            }
    
            // 重写 toString() 方法
            public String toString() {
                return "id:" + id + ", birthday:" + birthday;
            }
        }
    
        public static void main(String[] args) {
            List<UserBean> list = new ArrayList<>();
            UserListGenerate(list);
            System.out.println("排序前:" + list);
            ListSort(list);
            System.out.println("排序后:" + list);
        }
    
        private static void UserListGenerate(List<UserBean> list) {
            UserBean user1 = new UserBean();
            UserBean user2 = new UserBean();
            UserBean user3 = new UserBean();
            user1.setId("zhagnsan");
            user1.setBirthday("1980-11-01");
    
            user2.setId("lisi");
            user2.setBirthday("1981-12-01");
    
            user3.setId("wangwu");
            user3.setBirthday("1980-12-01");
    
            list.add(user1);
            list.add(user2);
            list.add(user3);
        }
    
        private static void ListSort(List<UserBean> list) {
            list.sort((o1, o2) -> {
                SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
                try {
                    Date dt1 = format.parse(o1.getBirthday());
                    Date dt2 = format.parse(o2.getBirthday());
                    return Long.compare(dt1.getTime(), dt2.getTime());
                } catch (Exception e) {
                    e.printStackTrace();
                }
                return 0;
            });
        }
    }
    

    运行结果

    排序前:[id:zhagnsan, birthday:1980-11-01, id:lisi, birthday:1981-12-01, id:wangwu, birthday:1980-12-01]
    排序后:[id:zhagnsan, birthday:1980-11-01, id:wangwu, birthday:1980-12-01, id:lisi, birthday:1981-12-01]
    

    参考资料

  • 相关阅读:
    jedis操作redis事务练习
    jedis连接redis,测试操作redis常用的数据类型 String List Set Hash Zset
    多态的理解
    binarySeach方法
    数组重新认识
    String的 认识
    接口的 认识
    抽象类及抽象方法
    protected的深刻理解
    protected的认识
  • 原文地址:https://www.cnblogs.com/hgnulb/p/9667007.html
Copyright © 2011-2022 走看看