/* 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{
public String getColor
(){return color
;} public Car
(String color
){this.
color = color
;} }
{
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()));
cars.
stream().
map(Car
::getColor
).
forEach(System.
out::println
);
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKCQoJc3RhdGljIGNsYXNzIENhcnsKCQlwcml2YXRlIGZpbmFsIFN0cmluZyBjb2xvcjsKCQlwdWJsaWMgU3RyaW5nIGdldENvbG9yKCl7cmV0dXJuIGNvbG9yO30KCQlwdWJsaWMgQ2FyKFN0cmluZyBjb2xvcil7dGhpcy5jb2xvciA9IGNvbG9yO30KCX0KCQoJCglwdWJsaWMgc3RhdGljIHZvaWQgbWFpbiAoU3RyaW5nW10gYXJncykgdGhyb3dzIGphdmEubGFuZy5FeGNlcHRpb24KCXsKCQlMaXN0PFN0cmluZz4gZGVmaW5lZE9yZGVyID0gQXJyYXlzLmFzTGlzdCgiZ3JlZW4iLCAiZ3JleSIsICJibHVlIiwgInJlZCIpOwoJCUxpc3Q8Q2FyPiBjYXJzID0gbmV3IEFycmF5TGlzdDw+KEFycmF5cy5hc0xpc3QoCgkJCW5ldyBDYXIoInJlZCIpLCBuZXcgQ2FyKCJncmVlbiIpLCBuZXcgQ2FyKCJibHVlIikKCQkJKSk7CgkJCgkJQ29tcGFyYXRvcjxDYXI+IGNhckNvbXBhcmF0b3IgPSBDb21wYXJhdG9yLmNvbXBhcmluZygKICAgICAgICBjIC0+IGRlZmluZWRPcmRlci5pbmRleE9mKGMuZ2V0Q29sb3IoKSkpOwogICAgICAgIENvbGxlY3Rpb25zLnNvcnQoY2FycywgY2FyQ29tcGFyYXRvcik7CiAgICAgICAgCiAgICAgICAgY2Fycy5zdHJlYW0oKS5tYXAoQ2FyOjpnZXRDb2xvcikuZm9yRWFjaChTeXN0ZW0ub3V0OjpwcmludGxuKTsKCgl9Cn0=