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