欢迎访问宙启技术站
智能推送

Java中的数组函数常见使用方法

发布时间:2023-06-04 03:06:47

1. 声明和初始化数组

在Java中,数组是一种引用数据类型。我们可以使用以下方法声明和初始化一个数组:

int[] arr = new int[10]; //声明一个包含10个整数的数组

int[] arr = new int[]{1, 2, 3, 4, 5}; //声明并初始化一个包含5个整数的数组

我们还可以使用以下方法声明和初始化多维数组:

int[][] arr = new int[3][3]; //声明一个3x3的二维数组

int[][] arr = new int[][]{{1,2,3},{4,5,6},{7,8,9}}; //声明并初始化一个3x3的二维数组

2. 遍历数组

遍历数组是数组函数的基本操作。我们可以使用for循环或增强for循环(foreach)来遍历数组。例如:

int[] arr = new int[]{1, 2, 3, 4, 5}; //声明并初始化一个包含5个整数的数组

for(int i=0; i<arr.length; i++){ //使用循环遍历数组

    System.out.println(arr[i]);

}

for(int element : arr){ //使用增强for循环遍历数组

    System.out.println(element);

}

3. 数组排序

Java提供了两种排序方法:Arrays.sort()和Collections.sort(),其中Arrays.sort()只能用于排序数组而不是集合。

int[] arr = new int[]{5, 4, 3, 2, 1}; //声明并初始化一个包含5个整数的数组

Arrays.sort(arr); //使用Arrays.sort()方法排序数组

for(int element : arr){ //使用增强for循环遍历数组

    System.out.println(element);

}

4. 数组拷贝

Java提供了两种方法用于数组拷贝:System.arraycopy()和Arrays.copyOf()。

int[] arr1 = new int[]{1, 2, 3, 4, 5}; //声明并初始化一个包含5个整数的数组

int[] arr2 = new int[arr1.length]; //声明一个数组用于存储拷贝结果

System.arraycopy(arr1, 0, arr2, 0, arr1.length); //调用System.arraycopy()方法实现数组拷贝

for(int element: arr2){ //使用增强for循环遍历数组

    System.out.println(element);

}

5. 数组搜索

Java提供了两种方法用于数组搜索:Arrays.binarySearch()和Collections.binarySearch(),其中Arrays.binarySearch()只能用于搜索数组而不是集合。

int[] arr = new int[]{1, 2, 3, 4, 5}; //声明并初始化一个包含5个整数的数组

int index = Arrays.binarySearch(arr, 3); //使用Arrays.binarySearch()方法搜索数组

System.out.println(index);

6. 数组元素转化

Java提供了两种方法用于数组元素转化:Arrays.asList()和Stream API。

int[] arr = new int[]{1, 2, 3, 4, 5}; //声明并初始化一个包含5个整数的数组

List<Integer> list = Arrays.asList(Arrays.stream(arr).boxed().toArray(Integer[]::new)); //使用Arrays.asList()方法将数组转化为List

System.out.println(list);

7. 数组元素判断

Java提供了三种方法用于数组元素判断:Arrays.equals()、Arrays.deepEquals()和Arrays.hashCode()。其中,Arrays.deepEquals()用于多维数组的判断。

int[] arr1 = new int[]{1, 2, 3, 4, 5}; //声明并初始化一个包含5个整数的数组

int[] arr2 = new int[]{1, 2, 3, 4, 5}; //声明并初始化一个包含5个整数的数组

if(Arrays.equals(arr1, arr2)){ //使用Arrays.equals()方法判断两个数组是否相等

    System.out.println("The two arrays are equal.");

}else{

    System.out.println("The two arrays are not equal.");

}

8. 数组元素求和、平均值、最大值、最小值等操作

Java提供了Stream API用于进行元素求和、平均值、最大值、最小值等操作。

int[] arr = new int[]{1, 2, 3, 4, 5}; //声明并初始化一个包含5个整数的数组

int sum = Arrays.stream(arr).sum(); //使用Stream API求和

double average = Arrays.stream(arr).average().getAsDouble(); //使用Stream API求平均值

int max = Arrays.stream(arr).max().getAsInt(); //使用Stream API求最大值

int min = Arrays.stream(arr).min().getAsInt(); //使用Stream API求最小值

9. 数组元素过滤、映射、排序等操作

Java提供了Stream API用于进行元素过滤、映射、排序等操作。

int[] arr = new int[]{1, 2, 3, 4, 5}; //声明并初始化一个包含5个整数的数组

int[] arrEven = Arrays.stream(arr).filter(e -> e % 2 == 0).toArray(); //使用Stream API过滤偶数元素

int[] arrSquare = Arrays.stream(arr).map(e -> e * e).toArray(); //使用Stream API将元素平方

Arrays.stream(arr).sorted().forEach(System.out::println); //使用Stream API排序元素

10. 数组扁平化

Java提供了Stream API用于进行数组扁平化操作。

int[][] arr = new int[][]{{1,2},{3,4},{5,6},{7,8}}; //声明并初始化一个3x2的二维数组

int[] flat = Arrays.stream(arr).flatMapToInt(Arrays::stream).toArray(); //使用Stream API将二维数组扁平化

以上是Java中的数组函数常见使用方法,掌握这些方法不仅能够提高我们的编程效率,也能够让我们更好地理解数组的用法和原理。