fork(3) download
  1. /* package whatever; // don't place package name! */
  2.  
  3. import java.util.*;
  4. import java.lang.*;
  5. import java.io.*;
  6.  
  7. /* Name of the class has to be "Main" only if the class is public. */
  8. class Ideone
  9. {
  10.  
  11. static class Car{
  12. private final String color;
  13. public String getColor(){return color;}
  14. public Car(String color){this.color = color;}
  15. }
  16.  
  17.  
  18. public static void main (String[] args) throws java.lang.Exception
  19. {
  20. List<String> definedOrder = Arrays.asList("green", "grey", "blue", "red");
  21. List<Car> cars = new ArrayList<>(Arrays.asList(
  22. new Car("red"), new Car("green"), new Car("blue")
  23. ));
  24.  
  25. Comparator<Car> carComparator = Comparator.comparing(
  26. c -> definedOrder.indexOf(c.getColor()));
  27. Collections.sort(cars, carComparator);
  28.  
  29. cars.stream().map(Car::getColor).forEach(System.out::println);
  30.  
  31. }
  32. }
Success #stdin #stdout 0.07s 34096KB
stdin
Standard input is empty
stdout
green
blue
red