1. 程式人生 > >Set<String> 日期型別資料排序實現

Set<String> 日期型別資料排序實現

package com.wyz

import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Collections;
import java.util.Comparator;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
import java.util.TreeSet;

public class test {

     public static void main( String[] args ) {
            Set<String> set = new HashSet<>();
            set.add("2018-01-01");
            set.add("2018-01-02");
            set.add("2018-01-03");
            set.add("2018-01-04");
            set.add("2019-01-05");
     
            Set<String> sortSet = getOrderByDate(set);
            System.out.println(sortSet.toString());
     
     }
 
     public static Set<String>  getOrderByDate(Set<String> set){
         Set<String> sortSet = new TreeSet<String>(new Comparator<String>() {
                public int compare(String o1, String o2) {
                    DateFormat df = new SimpleDateFormat("yyyy-MM-dd");
                    try {
                        Date d1 = df.parse(o1);
                        Date d2 = df.parse(o2);
                        if(d1.getTime()<d2.getTime()){
                            return 1;
                        }else if(d1.getTime()>d2.getTime()){
                            return -1;
                        }else{
                            return 0;
                        }
                    } catch (ParseException e) {
                        e.printStackTrace();
                    }
                   return 0;
                }
            });
            sortSet.addAll(set);
         
            return sortSet;
     }
   &n