压平int数组列表

时间:2015-02-14 05:31:42

标签: 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}

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

1 个答案:

答案 0 :(得分:2)

您可以使用流:

删除 - 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;
}