Advertisement
ridjis

Untitled

Nov 12th, 2015
528
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.37 KB | None | 0 0
  1.         class DateCompare {
  2.                 public final Integer day;
  3.                 public final Integer month;
  4.                 public final Integer year;
  5.  
  6.                 public DateCompare(String date) {
  7.                         String[] components = date.split("\\.");
  8.  
  9.                         day = Integer.valueOf(components[0]);
  10.                         month = Integer.valueOf(components[1]);
  11.                         year = Integer.valueOf(components[2]);
  12.                 }
  13.                 @Override
  14.                 public String toString() {
  15.                         return day + "." + month + "." + year + ".";
  16.                 }
  17.         }
  18.  
  19.         public class DomaciZadatakZaMozganje1 {
  20.                 public static void main(String[] args) {
  21.                         DateCompare[] dates = new DateCompare[] {
  22.                                         new DateCompare("11.4.2015."),
  23.                                         new DateCompare("12.5.2013."),
  24.                                         new DateCompare("21.5.2015."),
  25.                                         new DateCompare("11.4.2014."),
  26.                                         new DateCompare("14.4.2015."),
  27.                                         new DateCompare("14.4.2014."),
  28.                                         new DateCompare("21.4.2015."),
  29.                                         new DateCompare("12.5.2014."),
  30.                                         new DateCompare("11.4.2013."),
  31.                                         new DateCompare("12.5.2015."),
  32.                                         new DateCompare("14.4.2013."),
  33.                                         new DateCompare("16.5.2015.")
  34.                         };
  35.  
  36.                         Svetovid.out.println("Unsorted :");
  37.                         for (DateCompare date : dates) {
  38.                                 Svetovid.out.println(date);
  39.                         }
  40.  
  41.                         Arrays.sort(dates, new DateComparator());
  42.  
  43.                         Svetovid.out.println("Sorted: ");
  44.                         for (DateCompare date : dates) {
  45.                                 Svetovid.out.println(date);
  46.                         }
  47.  
  48.                 }
  49.         }
  50.  
  51.         class DateComparator implements Comparator<DateCompare> {
  52.                 private Comparator<Integer> comparator = new ReverseNumComparator();
  53.                 @Override
  54.                 public int compare(DateCompare DateCompare1, DateCompare DateCompare2) {
  55.                         int result = comparator.compare(DateCompare1.year, DateCompare2.year);
  56.                         if (result == 0)
  57.                                 result = comparator.compare(DateCompare1.month, DateCompare2.month);
  58.  
  59.                         if (result == 0)
  60.                                 result = comparator.compare(DateCompare1.day, DateCompare2.day);
  61.  
  62.                         return result;
  63.                 }
  64.         }
  65.  
  66.         class ReverseNumComparator implements Comparator<Integer> {
  67.                 @Override
  68.                 public int compare(Integer int1, Integer int2) {
  69.                         if (int1 == int2) {
  70.                                 return 0;
  71.                         } else if (int1 < int2) {
  72.                                 return 1;
  73.                         } else {
  74.                                 return -1;
  75.                         }
  76.                 }
  77.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement