java - 展平 int 数组列表

标签 java arrays collections

我有一个 Java 7 中的 int 数组列表。
最后,我需要将整个列表展平为一个串联的 int 数组。

List<int[]> list=new ArrayList<int[]>();
list.add(new int[]{0,1});
list.add(new int[]{2,3});
System.out.println(list.flatten());

Output expected - 
int[]{0,1,2,3}

实现这一目标的最优雅的方法是什么?

最佳答案

您可以使用流:

已删除 - Java 7 是后来潜入的!

我认为你不能让它变得比以下更优雅:

int newlen = 0;
for( int[] a: list ){
    newlen += a.length;
}
int[] out = new int[newlen];
int pos = 0;
for( int[] a: list ){
    System.arraycopy( a, 0, out, pos, a.length );
    pos += a.length;
}

关于java - 展平 int 数组列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28512775/

相关文章:

java - 斐波那契数字数组和元素可被 2 整除的数组的另一个副本(欧拉概率 2),交换空元素

Java 8 : Stream a list and map to another list based on different filters

c# - 接受不同类型的集合作为参数

java - 为什么 Java 不允许基于类型参数的重载?

java - AsyncTask 在第一行之后崩溃?

java - 如何使用 perfasm/xperfasm/WinPerfAsmProfiler 运行 JMH

java - Java应用程序中执行Neo4j Cypher查询出现异常

javascript - JS : How to combine Object from two different arrays into one Array/Object

php - PHP 7 中的类型提示 - 对象数组

c# - 集合中接口(interface)与对象引用的优势