LardaX

CustomComparator

Feb 9th, 2017
256
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.09 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.util.Arrays;
  5. import java.util.Comparator;
  6.  
  7.  
  8. public class CustomComparator {
  9.     public static void main(String[] args) throws IOException {
  10.         BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
  11.         Integer[] numbers = Arrays.stream(reader.readLine().split(" "))
  12.                 .map(Integer::parseInt).toArray(Integer[]::new);
  13.  
  14.         Comparator<Integer> custom = (o1, o2) -> {
  15.             int o1Abs = Math.abs(o1);
  16.             int o2Abs = Math.abs(o2);
  17.            
  18.             if (o1Abs % 2 == 0 && o2Abs % 2 == 1) {
  19.                 return -1;
  20.             } else if (o1Abs % 2 == 1 && o2Abs % 2 == 0) {
  21.                 return 1;
  22.             } else if (o1 < o2) {
  23.                 return -1;
  24.             } else if (o2 < o1) {
  25.                 return 1;
  26.             }
  27.             return 0;
  28.         };
  29.  
  30.         Arrays.sort(numbers, custom);
  31.  
  32.         for (Integer number : numbers) {
  33.             System.out.print(number + " ");
  34.         }
  35.     }
  36. }
Advertisement
Add Comment
Please, Sign In to add comment