對List中每個對象元素按時間順序排序


需求: 需要對List中的每個User按照birthday順序排序,時間由小到大排列。

 代碼實現:

 1 import java.text.SimpleDateFormat;
 2 import java.util.*;
 3 
 4 public class ListSort {
 5     public static class UserBean {
 6         private String id;
 7         private String birthday;
 8 
 9         public String getId() {
10             return id;
11         }
12 
13         public void setId(String id) {
14             this.id = id;
15         }
16 
17         public String getBirthday() {
18             return birthday;
19         }
20 
21         public void setBirthday(String birthday) {
22             this.birthday = birthday;
23         }
24     }
25 
26     public static void main(String[] args) {
27         List<UserBean> list = new ArrayList<UserBean>();
28         UserListGenerate(list);
29         System.out.println("********排序前*******");
       for(UserBean user: list){
        System.out.println(user.getBirthday());  
       }
30 31 ListSort(list); 32 System.out.println("******排序后*****");
       for(UserBean user: list){
        System.out.println(user.getBirthday());
       }
33 } 34 35 private static void UserListGenerate(List<UserBean> list) { 36 UserBean user1 = new UserBean(); 37 UserBean user2 = new UserBean(); 38 UserBean user3 = new UserBean(); 39 user1.setId("zhagnsan"); 40 user1.setBirthday("1980-11-01"); 41 42 user2.setId("lisi"); 43 user2.setBirthday("1981-12-01"); 44 45 user3.setId("wangwu"); 46 user3.setBirthday("1980-12-01"); 47 48 list.add(user1); 49 list.add(user2); 50 list.add(user3); 51 } 52 53 private static void ListSort(List<UserBean> list) { 54 Collections.sort(list, new Comparator<UserBean>() { 55 @Override 56 public int compare(UserBean o1, UserBean o2) { 57 SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); 58 try { 59 Date dt1 = format.parse(o1.getBirthday()); 60 Date dt2 = format.parse(o2.getBirthday()); 61 if (dt1.getTime() > dt2.getTime()) { 62 return 1; 63 } else if (dt1.getTime() < dt2.getTime()) { 64 return -1; 65 } else { 66 return 0; 67 } 68 } catch (Exception e) { 69 e.printStackTrace(); 70 } 71 return 0; 72 } 73 }); 74 } 75 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM