말씀하신 대로 "위치"라는 속성을 기준으로 객체 목록을 그룹화하려고 합니다. 다음은 Java 8의 스트림을 사용하여 이를 달성하는 깔끔한 방법입니다.
import java.util.*; 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")); // Group the list by "Location" attribute using Streams Map<String, List<Student>> studlistGrouped = studlist.stream().collect(Collectors.groupingBy(w -> w.stud_location)); // Print the results for (String location : studlistGrouped.keySet()) { System.out.println("Location: " + location); for (Student student : studlistGrouped.get(location)) { System.out.println("\t" + student.stud_id + " " + student.stud_name); } } } 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; } } }
이 프로그램은 Streams API의 Collectors.groupingBy() 메서드를 사용하여 학생들을 위치별로 그룹화합니다. 결과 맵(studlistGrouped)에는 위치인 키와 해당 위치에 있는 학생 목록인 값이 포함되어 있습니다.
위 내용은 스트림을 사용하여 속성별로 Java 개체를 그룹화하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!