将一维列表中的数据附加到多维列表

Append data in one dimenssional list to a multidimensional list

我有一个列表如下:

List<String> responseList = new ArrayList<>();
 responseList.add("test1")
 responseList.add("test2")
 responseList.add("test3")
 responseList.add("test4")

我需要将上面列表中的数据添加到下面的列表中,其中第 0 行应该具有值 test1 和 test2 。第一行应该有 test3 和 test4

List<List<String>> ActualEmployeeList  = new ArrayList<>();

你可以这样做。这样做的关键是您并不总是需要在 for 循环中执行 i++。另外,我认为单独创建列表而不是将所有内容都添加到响应列表是有意义的。

        List<String> responseList = new ArrayList<>();
        responseList.add("test1");
        responseList.add("test2");
        responseList.add("test3");
        responseList.add("test4");

        List<List<String>> actualEmployeeList = new ArrayList<>();

        for(int i = 0; i < responseList.size(); i+=2) {
            actualEmployeeList.add(responseList.subList(i, i+2));
        }

使用简单的 for 循环:

List<List<String>> ActualEmployeeList = new ArrayList();
for (int i = 0; i < responseList.size()-1; i += 2) {
    ActualEmployeeList.add(responseList.subList(i, i+2));
}

可能的流解决方案。不确定这是最优的:

List<List<String>> ActualEmployeeList = IntStream.range(0, responseList.size()-1)
            .filter(x -> x % 2 == 0)
            .mapToObj(i -> responseList.subList(i, i+2))
            .collect(Collectors.toList());