ArrayUtil java
发布人:shili8
发布时间:2025-01-06 04:07
阅读次数:0
**Java Array Utilities**
=======================在 Java 中,数组是一种常见的数据结构。然而,处理数组时可能会遇到一些麻烦,如查找最大值、最小值、平均值等问题。在本文中,我们将介绍一个名为 `ArrayUtil` 的类,它提供了一系列用于操作数组的方法。
**ArrayUtil 类**
----------------
javapublic class ArrayUtil { /** * 查找数组中的最大值。 * * @param array 数组 * @return 最大值 */ public static int findMax(int[] array) { if (array == null || array.length ==0) { throw new IllegalArgumentException("Array is empty"); } int max = array[0]; for (int i =1; i < array.length; i++) { if (array[i] > max) { max = array[i]; } } return max; } /** * 查找数组中的最小值。 * * @param array 数组 * @return 最小值 */ public static int findMin(int[] array) { if (array == null || array.length ==0) { throw new IllegalArgumentException("Array is empty"); } int min = array[0]; for (int i =1; i < array.length; i++) { if (array[i] < min) { min = array[i]; } } return min; } /** * 计算数组中的平均值。 * * @param array 数组 * @return 平均值 */ public static double findAverage(int[] array) { if (array == null || array.length ==0) { throw new IllegalArgumentException("Array is empty"); } int sum =0; for (int i : array) { sum += i; } return (double) sum / array.length; } /** * 判断数组是否有序。 * * @param array 数组 * @return true表示有序,false表示无序 */ public static boolean isSorted(int[] array) { if (array == null || array.length ==0) { throw new IllegalArgumentException("Array is empty"); } for (int i =1; i < array.length; i++) { if (array[i] < array[i -1]) { return false; } } return true; } /** * 交换数组中的两个元素。 * * @param array 数组 * @param i 索引1 * @param j 索引2 */ public static void swap(int[] array, int i, int j) { if (array == null || i < 0 || j < 0 || i >= array.length || j >= array.length) { throw new IndexOutOfBoundsException("Index out of bounds"); } int temp = array[i]; array[i] = array[j]; array[j] = temp; } /** * 将数组中的元素按升序或降序排列。 * * @param array 数组 * @param order 排序方式(升序或降序) */ public static void sort(int[] array, String order) { if (array == null || array.length ==0) { throw new IllegalArgumentException("Array is empty"); } if (!order.equals("asc") && !order.equals("desc")) { throw new IllegalArgumentException("Invalid order parameter"); } for (int i =1; i < array.length; i++) { for (int j =0; j < array.length - i; j++) { if ((order.equals("asc") && array[j] > array[j +1]) || (order.equals("desc") && array[j] < array[j +1])) { swap(array, j, j +1); } } } } }
**示例代码**
----------------
javapublic class Main { public static void main(String[] args) { int[] array = {3,6,8,10,12}; System.out.println("最大值:" + ArrayUtil.findMax(array)); System.out.println("最小值:" + ArrayUtil.findMin(array)); System.out.println("平均值:" + ArrayUtil.findAverage(array)); System.out.println("是否有序:" + (ArrayUtil.isSorted(array) ? "true" : "false")); ArrayUtil.swap(array,1,3); System.out.println("交换后数组:" + java.util.Arrays.toString(array)); ArrayUtil.sort(array, "asc"); System.out.println("升序排列后的数组:" + java.util.Arrays.toString(array)); ArrayUtil.sort(array, "desc"); System.out.println("降序排列后的数组:" + java.util.Arrays.toString(array)); } }
**注释**
----------
* `ArrayUtil`类提供了一系列用于操作数组的方法,包括查找最大值、最小值、平均值等。
* `findMax()`和`findMin()`方法分别用于找到数组中的最大值和最小值。
* `findAverage()`方法用于计算数组中的平均值。
* `isSorted()`方法用于判断数组是否有序。
* `swap()`方法用于交换数组中的两个元素。
* `sort()`方法用于将数组中的元素按升序或降序排列。
以上就是关于Java Array Utilities的介绍和示例代码。