/** * @author lautturi.com * Java example: java sort list order by property using stream */ import java.util.*; import java.util.stream.Collectors; class Person{ String name; int age; public Person(String string, int i) { name = string; age = i; } public String getName() { return name; } public int getAge() { return age; } } public class Lautturi { public static void main(String[] args) { List<Person> persons = new ArrayList<Person>(); persons.add(new Person("Lautturi",6)); persons.add(new Person("Alan",13)); persons.add(new Person("Bob",25)); persons.add(new Person("James", 22)); persons.add(new Person("Tom", 22)); persons.add(new Person("Alan",23)); persons.add(new Person("Sally",23)); persons.add(new Person("Leo",29)); persons.add(new Person("Haley",27)); persons.add(new Person("Martin",18)); List<Person> personsSortedByName = persons.stream().sorted((o1,o2)-> (o1.getName()).compareTo(o2.getName())).collect(Collectors.toList()); System.out.println("sort list by property:"); for (Person p : personsSortedByName) { System.out.println(p.getName()+" "+p.getAge()); } } }
output:
sort list by property: Alan 13 Alan 23 Bob 25 Haley 27 James 22 Lautturi 6 Leo 29 Martin 18 Sally 23 Tom 22