首頁 >Java >java教程 >如何使用 Collectors.groupingBy() 依屬性對 Java 物件分組?

如何使用 Collectors.groupingBy() 依屬性對 Java 物件分組?

DDD
DDD原創
2024-11-23 14:06:15988瀏覽

How to Group Java Objects by an Attribute Using Collectors.groupingBy()?

如何在 Java 中按屬性將物件分組

以特定屬性將物件分組是程式設計中常見的操作。為此,您可以使用 Java 8 中的 Collectors.groupingBy() 方法。

考慮以下程式碼,它建立一個Student 物件清單並將它們儲存在清單中:

public class Grouping {
    public static void main(String[] args) {

        List<Student> studlist = new ArrayList<>();
        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;
    }
}

要按位置將Student 物件分組,可以使用下列程式碼:

Map<String, List<Student>> studlistGrouped =
    studlist.stream().collect(Collectors.groupingBy(w -> w.stud_location));

此程式碼使用Collectors.groupingBy() 方法按Stud_location 屬性對Student 物件分組。結果是一個 Map,其中包含作為鍵的位置和作為值的 Student 物件清單。

這種方法提供了一種在 Java 8 中按屬性對物件進行分組的乾淨簡潔的方法。

以上是如何使用 Collectors.groupingBy() 依屬性對 Java 物件分組?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn