package java8;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Sorter {
class Human {
private String name;
private int age;
public String getName() {
return name;
}
public Human() {
}
public int getAge() {
return age;
}
public Human(final String name, final int age) {
this.name = name;
this.age = age;
}
}
public void sortTest(){
List<Human> humans = new ArrayList<Human>();
humans.add(new Human("Ethan", 7));
humans.add(new Human("GrandMother", 61));
humans.add(new Human("Jerry", 37));
humans.add(new Human("Fairy", 38));
humans.add(new Human("GrandFather", 60));
Collections.sort(humans, new Comparator<Human>() {
@Override
public int compare(Human h1, Human h2) {
return h1.getName().compareTo(h2.getName());
}
});
System.out.println("list....");
humans.forEach(n -> System.out.println("Name: " + n.getName() + " age: " + n.getAge()));
Comparator<Human> com = (Human h1, Human h2) -> h1.getName().compareTo(h2.getName()) * (-1);
humans.sort(com);
System.out.println("again list....");
humans.forEach(n -> System.out.println("Name: " + n.getName() + " age: " + n.getAge()));
}
public static void main(String[] args) {
Sorter instance = new Sorter();
instance.sortTest();
}
}