java - 用一行二维 ArrayList 填充一维 Arraylist

标签 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()));

}

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

最佳答案

调用 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/

相关文章:

java - 将 A 类对象的每个字段复制到列表中 B 类对象的每个字段

java - ArrayList 初始化为 null?

java - 从主类中的静态字段捕获异常

java - 在 Java 中从相机接收图像时出现伪影

java - 在 Java 中停止 ArrayList 的迭代

java - 从 DOM 对象创建的 ArrayList 中删除属性,也会将它们从原始文档中删除。我究竟做错了什么

java - 赋值操作期间不抛出空指针异常

java - 生产者/消费者场景中的双向流

java - java方法中的最终参数

android - 在日志中显示来自 SQLite 数据库的 ArrayList