/** * @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