我有一个人的对象与人名,年龄和性别。
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));
我想创建一个临时对象这样的年龄,性别和学生名单。
TempObject {
private int age;
private int gender;
private List<Integer> studentIds;
}
现在,我想用年龄,性别和学生列表创建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]);
2条答案
按热度按时间nsc4cvqm1#
你可以在这里看一本很好的指南
不管怎样,我希望它能帮助你(也许有一点)。
主要类别
tempobjectmapper
临时对象
人
您可以使用此行筛选列表
ctzwtxfj2#
你可以用
Collectors.toMap(keyMapper,valueMapper,mergeFunction,mapFactory)
收集数据的方法TreeMap
通过两个字段(年龄和性别)比较重复项的数量,并将ID合并到列表中:另请参见:基于值排序列表<map<string,object>>