展平 int 数组列表
flatten a list of int array
我在 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 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;
}