如何用一行二维 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()));
}
我收到一个错误:“无法应用列表”
最佳答案
调用 List#addAll(Collection<? extends E> c)
对于 List
的每个元素
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());
关于java - 用一行二维 ArrayList 填充一维 Arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40494614/