ホームページ  >  記事  >  Java  >  Collectors.groupingBy() を使用して属性によって Java オブジェクトをグループ化する方法

Collectors.groupingBy() を使用して属性によって Java オブジェクトをグループ化する方法

DDD
DDDオリジナル
2024-11-23 14:06:15920ブラウズ

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() メソッドを使用して Student オブジェクトを stack_location 属性によってグループ化します。結果は、キーとして位置を含み、値として Student オブジェクトのリストを含む Map です。

このアプローチは、Java 8 で属性によってオブジェクトをグループ化する明確かつ簡潔な方法を提供します。

以上がCollectors.groupingBy() を使用して属性によって Java オブジェクトをグループ化する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。