数组(一维数组 ,二维数组)
一维数组和二维数组的拷贝四种方法
1.for循环遍历 拷贝方法:
package com.tulun.src1;
//第一种拷贝方式的一维数组和二维数组 for循环遍历
import java.util.Arrays;
public class HomeWork4 {
public static void main(String[]args){
int[] array=new int[]{1,2,3,4}; //一维数组
int[] array1=new int[array.length];
for(int i=0;i<array1.length;++i){
array1[i]=array[i];
}
System.out.println(Arrays.toString(array1));
int[][] array2=new int[][]{{1,2,3},{1,2,3},{1,2,3}};//二维数组
int[][] array3=new int[array2.length][array2[0].length];
for(int i=0;i<array2.length;++i){
for(int j=0;j<array2[i].length;++j){
array3[i][j]=array2[i][j];
}
System.out.println(Arrays.toString(array3[0]));
}
}
}
2.Arrays.copyOf方法:
package com.tulun.src1;
import java.util.Arrays;
//第二种一维数组和二维数组的拷贝方式 Arrays.copyOf方法
public class HomeWork1 {
public static void main(String[]args){
int[] array=new int[]{1,2,3,4}; //一维数组
int[] array1= Arrays.copyOf(array,array.length);
System.out.println(Arrays.toString(array1));
int[][]array2=new int[][]{{1,2,3},{1,2,3},{1,2,3}}; //二维数组
for(int i=0;i<array2.length;++i);
int[][] array3 = Arrays.copyOf(array2, array2.length);
System.out.println(Arrays.deepToString(array3));
}
}
3.array.clone()方法:
package com.tulun.src1;
//第三种一维数组和二维数组的拷贝方式 array.clone()方法
import java.util.Arrays;
public class HomeWork2 {
public static void main(String[]args){
int[] array=new int[]{1,2,3,4}; //一维数组
int[] array1=array.clone();
System.out.println(Arrays.toString(array1));
int[][] array2=new int[][]{{1,2,3},{1,2,3},{1,2,3}}; //二维数组
for(int i=0;i<array2.length;++i){
int[][] array3=array2.clone();
System.out.println(Arrays.toString(array3[0]));
}
}
}
4.System.arraycopy方法:
package com.tulun.src1;
//第四种一维数组和二维数组的拷贝方式System.arraycopy()方法
import java.util.Arrays;
public class HomeWork3 {
public static void main(String[]args){
int[] array=new int[]{1,2,3,4}; //一维数组
int[] array1=new int[array.length];
System.arraycopy(array,0,array1,0,array.length);
System.out.println(Arrays.toString(array1));
int[][] array2=new int[][]{{1,2,3},{1,2,3},{1,2,3}}; //二维数组
int[][] array3=new int[array2.length][array2[0].length];
System.arraycopy(array2,0,array3,0,array2.length);
System.out.println(Arrays.deepToString(array3));
}
}
拷贝的大小:
package com.tulun.src1;
//Arrays.copyOf 复制方法
import java.util.Arrays;
public class ArrayTest3 {
public static void main(String[]args){
int[] array4 = {12,4,56,7,8,90};
int[] array5 = Arrays.copyOf(array4, array4.length-2);
array4[0] = 20;
System.out.println(array5[0]);
System.out.println(Arrays.toString(array5));
int[] array6 = new int[1000];
int size = 0;
for(; size < 10; ++size){
array6[size] = 10;
}
array6 = Arrays.copyOf(array6, size);
}
}
20180604