【发布时间】:2021-03-11 03:24:56
【问题描述】:
我有一个包含 personId、年龄和性别的人员对象。
public class Person {
private int personId;
private int age;
private int gender; // 0 for male and 1 for female
}
List<Person> person = new Arraylist<>();
person.add(new Person(1,1,1));
person.add(new Person(2,2,0));
person.add(new Person(3,10,1));
person.add(new Person(4,11,0));
person.add(new Person(5,20,1));
person.add(new Person(6,20,1));
person.add(new Person(7,2,0));
person.add(new Person(8,20,0));
person.add(new Person(9,11,0));
person.add(new Person(10,20,1));
我想创建一个这样的临时对象,其中包含年龄、性别和学生 ID 列表。
TempObject {
private int age;
private int gender;
private List<Integer> studentIds;
}
现在,我想创建带有年龄、性别和学生 ID 列表的 TempObject。这个对象应该有一对年龄、性别和与年龄和性别对应的学生ID列表。有人可以帮我吗。我尝试过使用 java8 的分组方式。
new TempObject(1,1,[1]);
new TempObject(2,0,[2,7]);
new TempObject(10,1,[3]);
new TempObject(11,0,[4,9]);
new TempObject(20,1,[5,6,10]);
new TempObject(20,0,[8]);
【问题讨论】:
-
这能回答你的问题吗? Group by multiple field names in java 8
-
@VladL 在发布我的问题之前,我已经尝试过此代码。在该示例中,用户试图让 Person 对象列表与一对。但我需要获取具有年龄和性别对的 studentIds 列表。
标签: java list collections java-stream grouping