Heim > Java > javaLernprogramm > Hauptteil

Wie kann die Methode „Collectors.groupingBy' von Java 8 Objekte effizient nach Attributen gruppieren?

Patricia Arquette
Freigeben: 2024-11-17 15:59:02
Original
501 Leute haben es durchsucht

How Can Java 8's `Collectors.groupingBy` Method Efficiently Group Objects by Attribute?

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;
    }
}
Nach dem Login kopieren

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));
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage