【问题标题】:Convert List of Array into single Array将数组列表转换为单个数组
【发布时间】:2018-06-10 06:02:28
【问题描述】:

如何在 Java 中将数组列表转换为单个数组。有没有预定义的函数可以使用?

下面是数组列表,我想迭代并将所有值保存在一个数组中。

List<Integer[]> integerArrayList = new ArrayList<Integer[]>();

Integer[] resultArray = {};

有没有有效的实施方式?

【问题讨论】:

  • 使用 cmets 询问更多信息或提出改进建议。避免在 cmets 中回答问题。

标签: java arrays list


【解决方案1】:

Java 8 的流使这变得非常简单:

Integer[] resultArray = 
    integerArrayList.stream().flatMap(Arrays::stream).toArray(Integer[]::new);

【讨论】:

    【解决方案2】:

    Streams:

    Integer[] resultArray = integerArrayList.stream () // create a Stream<Integer[]>
                                            .flatMap (Stream::of) // flatten to a Stream<Integer>
                                            .toArray (Integer[]::new); // generate Integer[]
    

    同样,您可以生成int[]

    int[] resultArray2 = integerArrayList.stream () // create a Stream<Integer[]>
                                         .flatMap (Stream::of) // flatten to a Stream<Integer>
                                         .mapToInt(Integer::intValue) // convert to IntStream
                                         .toArray (); // generate int[]
    

    【讨论】:

      猜你喜欢
      • 2015-12-30
      • 1970-01-01
      • 2015-02-15
      • 2011-08-13
      • 2020-03-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-07
      相关资源
      最近更新 更多