一、数组转字符串
int[] arr = {1,2,3,4,5,6}; String newArr = Arrays.toString(arr); System.out.println(newArr); // 执行结果 [1, 2, 3, 4, 5, 6]
使用这个方法后续打印数组就更方便一些. Java 中提供了 java.util.Arrays 包, 其中包含了一些操作数组的常用方法.
二、数组的拷贝
代码示例
import java.util.Arrays; public static void func(){ // newArr和arr引用的是同一个数组 // 因此newArr修改空间中内容之后,arr也可以看到修改的结果 int[] arr = {1,2,3,4,5,6}; int[] newArr = arr; newArr[0] = 10; System.out.println("newArr: " + Arrays.toString(arr)); // 使用Arrays中copyOf方法完成数组的拷贝: // copyOf方法在进行数组拷贝时,创建了一个新的数组 // arr和newArr引用的不是同一个数组 arr[0] = 1; newArr = Arrays.copyOf(arr, arr.length); System.out.println("newArr: " + Arrays.toString(newArr)); // 因为arr修改其引用数组中内容时,对newArr没有任何影响 arr[0] = 10; System.out.println("arr: " + Arrays.toString(arr)); System.out.println("newArr: " + Arrays.toString(newArr)); // 拷贝某个范围. //一: int[] newArr2 = Arrays.copyOfRange(arr, 2, 4); System.out.println("newArr2: " + Arrays.toString(newArr2)); //二: int[] newArr3=new int[arr.length] //从目标数组下标1处拷贝到目标数组下标为一处,拷贝arr.length-1个元素 System.arraycopy(arr,1,newArr3,0,arr.length-1); System.out.println("newArr3: " + Arrays.tostring(newArr3)); }
三、数组的改变
public static void main(String[] args) { int []arr={1,2,3,4,5,4,3,5}; \\将数组的所有元素改为5; Arrays.fill(arr,5); System.out.println(Arrays.toString(arr)); Arrays.fill(arr,1,4,2); \\将数组从下标1到3的元素改为2; System.out.println(Arrays.toString(arr));
四、数组的升序排列
int []arr={1,2,3,4,5,4,3,5}; \\数组从下标为2到下标为5的元素升序重新排列 Arrays.sort(arr,2,6); System.out.println(Arrays.toString(arr));
五、二维数组
public static void main(String[] args) { \\可以没有列,但不能没有行 int[][] array= new int[2][]; array[0]=new int[]{11,22,33,44}; array[1]=new int[]{111,222,333,444,555,666,777}; for (int i = 0; i < array.length; i++) { for (int j = 0; j < array[i].length; j++) { System.out.println(array[i][j]+" "); } } System.out.println(Arrays.deepToString(array)); }