/* package whatever; // don't place package name! */

import java.util.*;
import java.lang.*;
import java.io.*;

/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
	
	static class Car{
		private final String color;
		public String getColor(){return color;}
		public Car(String color){this.color = color;}
	}
	
	
	public static void main (String[] args) throws java.lang.Exception
	{
		List<String> definedOrder = Arrays.asList("green", "grey", "blue", "red");
		List<Car> cars = new ArrayList<>(Arrays.asList(
			new Car("red"), new Car("green"), new Car("blue")
			));
		
		Comparator<Car> carComparator = Comparator.comparing(
        c -> definedOrder.indexOf(c.getColor()));
        Collections.sort(cars, carComparator);
        
        cars.stream().map(Car::getColor).forEach(System.out::println);

	}
}