Maison > Java > javaDidacticiel > le corps du texte

Comment la méthode « Collectors.groupingBy » de Java 8 peut-elle regrouper efficacement les objets par attribut ?

Patricia Arquette
Libérer: 2024-11-17 15:59:02
original
501 Les gens l'ont consulté

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

Regroupement d'objets par attribut

Considérez un scénario dans lequel vous avez une liste d'objets et devez les organiser en fonction d'un attribut spécifique. Prenez, par exemple, une liste d'étudiants que vous souhaitez regrouper en fonction de leur localisation.

Dans ce cas, vous pourriez avoir une liste d'étudiants comme suit :

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;
    }
}
Copier après la connexion

Pour regroupez ces étudiants en fonction de leur emplacement, vous pouvez utiliser la méthode Collectors.groupingBy de Java 8, comme démontré ci-dessous :

    Map<String, List<Student>> studlistGrouped = studlist.stream()
                                                    .collect(Collectors.groupingBy(w -> w.stud_location));
Copier après la connexion

Cette ligne de code regroupe les étudiants de la liste des étudiants par leur attribut stud_location, ce qui donne une carte où les clés sont des emplacements (par exemple, "New York") et les valeurs correspondantes sont des listes d'étudiants qui appartiennent à ces emplacements.

Cette approche fournit un moyen concis et efficace de regrouper les objets en fonction d'un attribut spécifié, vous aidant ainsi à organiser et analyser les données efficacement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal