📜  java中的数组方法(1)

📅  最后修改于: 2023-12-03 15:02:02.384000             🧑  作者: Mango

Java中的数组方法

在Java中,数组是一种非常常见的数据类型。它是一个包含相同类型元素的集合。数组可以通过索引访问其中的元素。在这篇文章中,我们将介绍一些Java中的数组方法,这些方法可以帮助你更好地处理数组。

定义数组

在Java中,我们可以通过以下方式来定义一个数组:

// 定义一个整型数组,长度为5
int[] arr1 = new int[5];

// 定义一个字符串数组,包含三个元素
String[] arr2 = new String[]{"hello", "world", "java"};

// 定义一个字符数组,包含两个元素
char[] arr3 = {'a', 'b'};
访问数组元素

可以通过数组的索引来访问数组中的元素,索引从0开始。

int[] arr = new int[]{1, 2, 3};
// 访问第1个元素,输出1
System.out.println(arr[0]);
// 访问第2个元素,输出2
System.out.println(arr[1]);
// 访问第3个元素,输出3
System.out.println(arr[2]);
求数组长度

可以通过数组对象的 length 属性获得数组的长度。

int[] arr = new int[]{1, 2, 3};
// 输出数组长度,输出3
System.out.println(arr.length);
数组拷贝

可以使用 Arrays 类中的 copyOfcopyOfRange 方法来拷贝数组。

int[] arr1 = new int[]{1, 2, 3};
int[] arr2 = Arrays.copyOf(arr1, arr1.length); // 拷贝整个数组
int[] arr3 = Arrays.copyOfRange(arr1, 0, 2); // 拷贝一部分数组

System.out.println(Arrays.toString(arr1)); // 输出[1, 2, 3]
System.out.println(Arrays.toString(arr2)); // 输出[1, 2, 3]
System.out.println(Arrays.toString(arr3)); // 输出[1, 2]
数组排序

可以使用 Arrays 类中的 sort 方法对数组进行排序。

int[] arr = new int[]{3, 1, 2};
Arrays.sort(arr);
System.out.println(Arrays.toString(arr)); // 输出[1, 2, 3]
数组搜索

可以使用 Arrays 类中的 binarySearch 方法对有序数组进行二分查找。

int[] arr = new int[]{1, 2, 3};
int index = Arrays.binarySearch(arr, 2);
System.out.println(index); // 输出1
数组转字符串

可以使用 Arrays 类中的 toString 方法将数组转换成字符串。

int[] arr = new int[]{1, 2, 3};
String str = Arrays.toString(arr);
System.out.println(str); // 输出[1, 2, 3]
多维数组

Java中也支持多维数组,我们可以通过以下方式来定义一个二维数组。

int[][] arr = new int[2][3];
arr[0][0] = 1;
arr[0][1] = 2;
arr[0][2] = 3;
arr[1][0] = 4;
arr[1][1] = 5;
arr[1][2] = 6;
多维数组的拷贝

可以使用 Arrays 类中的 copyOfcopyOfRange 方法来拷贝多维数组。

int[][] arr1 = new int[][]{{1, 2, 3}, {4, 5, 6}};
int[][] arr2 = Arrays.copyOf(arr1, arr1.length); // 拷贝整个数组
int[][] arr3 = Arrays.copyOfRange(arr1, 0, 2); // 拷贝一部分数组
多维数组的排序

可以使用 Arrays 类中的 sort 方法对多维数组进行排序。

int[][] arr = new int[][]{{3, 1, 2}, {6, 4, 5}};
Arrays.sort(arr, (o1, o2) -> o1[0] - o2[0]); // 按第一列升序排序
System.out.println(Arrays.deepToString(arr)); // 输出[[3, 1, 2], [6, 4, 5]]