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; } }
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!