How to Sort an Arraylist of Date in ascending and descending order which is in String format

后端 未结 6 1725
轻奢々
轻奢々 2020-12-17 02:36

I have arrayLists of Dates which is in String format then how can I sort this arraylists,

ArrayList aryBeginDate;
ArrayList aryDu         


        
6条回答
  •  清歌不尽
    2020-12-17 03:21

    Don't use a String when you want a Date. Use a Date. You should only transfom the Date to a String when displaying it. Otherwise, everywhere in the code, the date should of type Date. This is what allows sorting in chronological order, because dates have a natural order which is chronological.

    So, once the RowItem has a startDate and an endDate, both being of type Date, you can sort a list of row items by start date using a simple comparator:

    Collections.sort(rowItems, new Comparator() {
        @Override
        public int compare(RowItem r1, RowItem 2) {
            return r1.getStartDate().compareTo(r2.getStartDate());
        }
    }); 
    

    Also, fix your indentationof if/else blocks, because your way is really not readable:

    if (aryBeginDate.equals(" ")) {
        row.setStartDate(" ");
    } 
    else {
        row.setStartDate(aryBeginDate.get(i).toString());
    }
    

提交回复
热议问题