Maison > Java > javaDidacticiel > Comment puis-je regrouper des objets par attribut à l'aide de Java 8 Streams ?

Comment puis-je regrouper des objets par attribut à l'aide de Java 8 Streams ?

Linda Hamilton
Libérer: 2024-11-23 10:01:27
original
260 Les gens l'ont consulté

How Can I Group Objects by an Attribute Using Java 8 Streams?

Regrouper des objets par un attribut à l'aide de Java 8

En Java, le regroupement d'objets par un attribut peut fournir un moyen structuré d'organiser et d'analyser les données. Par exemple, supposons que vous disposiez d’une liste d’étudiants et de leurs emplacements. Vous souhaiterez peut-être regrouper les étudiants en fonction de leur emplacement pour un traitement ultérieur.

Voici un extrait de code qui exploite les fonctionnalités avancées de Java 8 pour y parvenir :

import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.util.stream.Collectors;

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"));

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

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

Les collectionneurs. La méthode groupingBy, introduite dans Java 8, vous permet de créer une carte qui regroupe les objets en fonction de la valeur d'une fonction clé spécifiée. Dans ce cas, nous spécifions le champ stud_location comme fonction clé, ce qui donne une carte où chaque clé représente un emplacement et la valeur correspondante est une liste d'étudiants à cet emplacement.

Cette approche fournit une approche efficace et élégante. moyen de regrouper une liste d’objets à l’aide d’un attribut spécifique. La carte résultante peut être exploitée à diverses fins, telles qu'un filtrage, un tri ou une visualisation de données plus poussé.

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