import java.util.*;
class Cat
{
int age;
Cat(int age)
{
this.age = age;
}
}
class CatComparatorByAge implements Comparator<Cat>
{
public int compare(Cat first, Cat second)
{
if (first.age < second.age)
return -1;
else if (first.age == second.age)
return 0;
else
return 1;
}
}
class Tester
{
public static void main
(String args
[]) {
// list of cats.
List<Cat> list = new ArrayList<Cat>();
list.add(new Cat(5));
list.add(new Cat(1));
list.add(new Cat(6));
list.add(new Cat(7));
list.add(new Cat(3));
//Collections.sort() can sort by a sorter.
Collections.
sort(list,
new CatComparatorByAge
());// Sort array list
//print sorted age list.
for(Cat cat: list)
System.
out.
print(cat.
age + ", "); }
}
aW1wb3J0IGphdmEudXRpbC4qOwoKY2xhc3MgQ2F0CnsKICAgaW50IGFnZTsKCiAgIENhdChpbnQgYWdlKQogICB7CiAgICAgIHRoaXMuYWdlID0gYWdlOwogICB9Cn0KCmNsYXNzIENhdENvbXBhcmF0b3JCeUFnZSBpbXBsZW1lbnRzIENvbXBhcmF0b3I8Q2F0Pgp7CiAgIHB1YmxpYyBpbnQgY29tcGFyZShDYXQgZmlyc3QsIENhdCBzZWNvbmQpCiAgIHsKICAgICAgaWYgKGZpcnN0LmFnZSA8IHNlY29uZC5hZ2UpCiAgICAgIAlyZXR1cm4gLTE7CiAgICAgIGVsc2UgaWYgKGZpcnN0LmFnZSA9PSBzZWNvbmQuYWdlKQogICAgICAJcmV0dXJuIDA7CiAgICAgIGVsc2UKICAgICAgCXJldHVybiAxOwogICB9Cn0KCmNsYXNzIFRlc3Rlcgp7CiAgIHB1YmxpYyBzdGF0aWMgdm9pZCBtYWluKFN0cmluZyBhcmdzW10pCiAgIHsKICAgICAgLy8gbGlzdCBvZiBjYXRzLgogICAgICBMaXN0PENhdD4gbGlzdCA9IG5ldyBBcnJheUxpc3Q8Q2F0PigpOwogICAgICBsaXN0LmFkZChuZXcgQ2F0KDUpKTsKICAgICAgbGlzdC5hZGQobmV3IENhdCgxKSk7CiAgICAgIGxpc3QuYWRkKG5ldyBDYXQoNikpOwogICAgICBsaXN0LmFkZChuZXcgQ2F0KDcpKTsKICAgICAgbGlzdC5hZGQobmV3IENhdCgzKSk7CgogICAgIC8vQ29sbGVjdGlvbnMuc29ydCgpIGNhbiBzb3J0IGJ5IGEgc29ydGVyLgogICAgICBDb2xsZWN0aW9ucy5zb3J0KGxpc3QsIG5ldyBDYXRDb21wYXJhdG9yQnlBZ2UoKSk7Ly8gU29ydCBhcnJheSBsaXN0CgoJICAvL3ByaW50IHNvcnRlZCBhZ2UgbGlzdC4KICAgICAgZm9yKENhdCBjYXQ6IGxpc3QpCiAgICAgICAgIFN5c3RlbS5vdXQucHJpbnQoY2F0LmFnZSArICIsICIpOwogICB9Cn0=