font color=#999AAA >来源: 声明:如果我侵犯了任何人的权利,请联系我,我会删除 欢迎高手来喷我
文章目录
ArrayList 转一维数组int[] ---遍历/toArray()ArrayList\ 转一维数组int[] ---toArray()ArrayList\
ArrayList 转一维数组int[] —遍历/toArray()
//1. 遍历
ArrayList list = new ArrayList<>();
list.add(1); list.add(2);
int[]arr = new int[list.size()];
int index= 0;
for(int a : list){
arr[index++] = a;
}
2. toArray()需要object做中转
ArrayList list = new ArrayList<>();
for (int i = 0; i< 10; i++) {
list.add(i);
}
Object[] arr = list.toArray();
int[] rett = new int[arr.length];
for(int i=0;i
rett[i] = (int)arr[i];
}
System.out.println(Arrays.toString(rett));
ArrayList 转一维数组int[] —toArray()
List merged = new ArrayList();
merged.toArray(new int[merged.size()][]);
ArrayList> 转二维数组int[] []没有找到方法(因为在写程序的过程中,二维的长度和一维数组的长度都是不确定的,感觉ArrayList> 会方便,但是不好变回来),所以在程序中需要这样转换的时候,建议用List merged 代替 ArrayList> ,这样很方便的
@Test
public void test5(){
int[] array = {1, 2, 5, 5, 5, 5, 6, 6, 7, 2, 9, 2};
/*int[]转list*/
//方法一:需要导入apache commons-lang3 jar
List list = Arrays.asList(ArrayUtils.toObject(array));
//方法二:java8及以上版本
List list1 = Arrays.stream(array).boxed().collect(Collectors.toList());
/*list转int[]*/
//方法一:
Integer[] intArr = list.toArray(new Integer[list.size()]);
//方法二:java8及以上版本
int[] intArr1 = list.stream().mapToInt(Integer::valueOf).toArray();
}