Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将POJO中的多个列表项转换为Java中的新列表_Java_Spring_Spring Mvc_Arraylist - Fatal编程技术网

将POJO中的多个列表项转换为Java中的新列表

将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

我有一个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> 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))));