Objekte nach Attribut gruppieren
Stellen Sie sich ein Szenario vor, in dem Sie eine Liste von Objekten haben und diese anhand eines bestimmten Attributs organisieren müssen. Nehmen Sie zum Beispiel eine Liste von Studenten, in der Sie sie nach ihrem Standort gruppieren möchten.
In diesem Fall könnten Sie eine Liste von Studenten wie folgt erstellen:
public class Grouping { public static void main(String[] args) { List<Student> studlist = new ArrayList<Student>(); studlist.add(new Student("1726", "John", "New York")); studlist.add(new Student("4321", "Max", "California")); studlist.add(new Student("2234", "Andrew", "Los Angeles")); studlist.add(new Student("5223", "Michael", "New York")); studlist.add(new Student("7765", "Sam", "California")); studlist.add(new Student("3442", "Mark", "New York")); } } class Student { String stud_id; String stud_name; String stud_location; Student(String sid, String sname, String slocation) { this.stud_id = sid; this.stud_name = sname; this.stud_location = slocation; } }
An Um diese Schüler nach ihrem Standort zu gruppieren, können Sie die Collectors.groupingBy-Methode von Java 8 verwenden, wie unten gezeigt:
Map<String, List<Student>> studlistGrouped = studlist.stream() .collect(Collectors.groupingBy(w -> w.stud_location));
Diese Codezeile gruppiert die Schüler in der Studlist nach ihr stud_location-Attribut, was zu einer Karte führt, in der Schlüssel Orte sind (z. B. „New York“) und die entsprechenden Werte Listen von Studenten sind, die zu diesen Orten gehören.
Dieser Ansatz bietet eine prägnante und effektive Möglichkeit zur Gruppierung Objekte basierend auf einem bestimmten Attribut, was Ihnen hilft, Daten effizient zu organisieren und zu analysieren.
Das obige ist der detaillierte Inhalt vonWie kann die Methode „Collectors.groupingBy' von Java 8 Objekte effizient nach Attributen gruppieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!