/**
* @author lautturi.com
* Java example: sort a list by the filed name in java
*/
import java.util.*;
import java.util.stream.Collectors;
import java.util.stream.Stream;
class Person{
String name;
int age;
public Person(String string, int i) {
name = string;
age = i;
}
public String getName() {
return name;
}
}
public class Lautturi {
public static void main(String[] args) {
List<Person> persons = new ArrayList<Person>();
persons.add(new Person("Alan",13));
persons.add(new Person("Bob",25));
persons.add(new Person("Tom",22));
persons.add(new Person("Alan",23));
persons.add(new Person("James",22));
List<Person> sorted = persons.stream().sorted(
new Comparator<Person>() {
public int compare(Person obj1, Person obj2) {
return obj1.getName().compareTo(obj2.getName());
}
}).collect(Collectors.toList());
for (Person p : persons) {
System.out.print(p.getName()+" ");
}
for (Person p : sorted) {
System.out.print(p.getName()+" ");
}
}
}
output:
Alan Bob Tom Alan James Alan Alan Bob James Tom