• 如何使用 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]
    

    参考资料

  • 相关阅读:
    CLOUD COMPUTING MADE EASY by Cary Landis and Dan Blacharski
    浅析JSONP
    Xpages 执行的生命周期
    LotusScript类的继承
    苹果公司的UI交互设计师Bret Victor演讲 Inventing on Principle
    ajax
    Aptana 汉化方法
    删除数据库连接脚本
    让Visual Studio 也支持JS代码折叠 [ Visual Studio | #region | #endregion ]
    power designer简单教程
  • 原文地址:https://www.cnblogs.com/hgnulb/p/9667007.html
Copyright © 2020-2023  润新知