将POJO中的多个列表项转换为Java中的新列表
我有一个POJO,在rest ajax提交后在控制器中填充了一个项目列表。这是填充的模型的结构:将POJO中的多个列表项转换为Java中的新列表,java,spring,spring-mvc,arraylist,Java,Spring,Spring Mvc,Arraylist,我有一个POJO,在rest ajax提交后在控制器中填充了一个项目列表。这是填充的模型的结构: public class AllNamesDto { private List<Long> id; private List<String> firstName; private List<String> LastName; private List<Boolean> manualSubmit; private List<String
public class AllNamesDto {
private List<Long> id;
private List<String> firstName;
private List<String> LastName;
private List<Boolean> manualSubmit;
private List<String> program;
//getters setters
}
大概是
List<AllNamesDtoList> allNamesDtoList = new ArrayList<>();
allNameDtoList.add(AllNamesDto.items);
我知道语法是不正确的,只是把它弄得乱七八糟,以快速显示我要完成的任务。我的目标是创建一个适当的项目列表,因为我无法找到通过ajax正确发送列表的方法,而只是在一个POJO中创建一个项目子列表,以便迭代并保存到db
感谢您的帮助 假设列表中的顺序正确且大小相同: 首先放置一个带字段的构造函数:
public AllNamesDtoList(long id, String firstName, String lastName, Boolean manualSubmit, String program) {
super();
this.id = id;
this.firstName = firstName;
LastName = lastName;
this.manualSubmit = manualSubmit;
this.program = program;
}
然后我们获取其中一个列表的大小,并创建一个IntStream来迭代索引
List<AllNamesDtoList> allNamesDtoList = new ArrayList<>();
IntStream.range(0, id.size()).forEach(index -> allNamesDtoList.add(new AllNamesDtoList(id.get(index), firstName.get(index), LastName.get(index), manualSubmit.get(index), program.get(index))));
而且AllNamesdolist列表已经满了。您至少需要尝试一下。你需要一个循环。在eas迭代中,您需要获取当前索引中每个列表的元素,创建一个AllNamesDtoList的实例,该实例根本不是一个列表,可能应该命名为Person或类似的名称。AllNamesDto中的所有列表是否具有相同的长度?@Deadpool AllNamesDto中的所有项目都具有相同的长度。每一张唱片都是表格中的一行。谢谢你的建议,我现在试一试。我不确定您在示例中所说的ids.size是什么意思,当我到达id.getindex时,我遇到了一个错误。它不知道我在引用什么。很抱歉,我放了id,我想放id,我只是拿了你的一个列表,看看它的大小。我已经编辑了这个部分的id.size,就像我在做这个id.getindex,firstName.getindex时放了firstName.size。。。是AllnamedTo列表@Siriusbits感谢您的澄清。对于id.size。但只有使用allnamedto.getId.size,它才能工作。但它仍然找不到id.getindex?id.getindex,firstName.getindex…是AllNamesDto.getId.getindex,AllNamesDto.getFirstName.getindex。。。
List<AllNamesDtoList> allNamesDtoList = new ArrayList<>();
IntStream.range(0, id.size()).forEach(index -> allNamesDtoList.add(new AllNamesDtoList(id.get(index), firstName.get(index), LastName.get(index), manualSubmit.get(index), program.get(index))));