用一行二维ArrayList

时间:2016-11-08 19:07:15

标签: java arraylist

如何用一行二维ArrayList填充一维ArrayList?我尝试过以下代码:

public static List<List<Float>> matrix = new ArrayList<>();

public static void buildMatrix(List<String> URLList, List<String> headerList)
{

    // DO SOME STUFF

    List<Float> tempArrayList = new ArrayList<>();
    tempArrayList.add(matrix.get(matrix.size()));

}

我收到错误:“无法应用列表”

1 个答案:

答案 0 :(得分:4)

List

的每个元素调用List#addAll(Collection<? extends E> c)
List<Float> tempArrayList = new ArrayList<>();
for (List<Float> list : matrix) {
    tempArrayList.addAll(list);
}

如果您使用 Java 8 ,可以通过Stream API完成此操作,更具体地说,可以使用方法Stream#flatMap(Function<? super T,? extends Stream<? extends R>> mapper)作为下一步:

List<Float> tempArrayList = matrix.stream()
    .flatMap(List::stream)
    .collect(Collectors.toList());