Java学习(数组)

    技术2023-10-23  102

    数组排序及元素查找

    使用sort()方法对Java数组进行排序,使用 binarySearch() 方法来查找数组中的元素 import java.util.Arrays;//要有 public class MainClass { public static void main(String args[]) { int array[] = { 2, 5, -2, 6, -3, 8, 0, -7, -9, 4 }; Arrays.sort(array); printArray("数组排序结果为", array); int index = Arrays.binarySearch(array, 2);//就是这 System.out.println("元素 2 在第 " + index + " 个位置"); } private static void printArray(String message, int array[]) { System.out.println(message + ": [length: " + array.length + "]"); for (int i = 0; i < array.length; i++) { if(i != 0){ System.out.print(", "); } System.out.print(array[i]); } System.out.println(); } }

    代码输出结果:

    数组添加元素

    使用 insertElement () 方法向数组插入元素 import java.util.Arrays; public class MainClass { public static void main(String args[]) { int array[] = { 2, 5, -2, 6, -3, 8, 0, -7, -9, 4 }; Arrays.sort(array); printArray("数组排序", array); int index = Arrays.binarySearch(array, 1); System.out.println("元素 1 所在位置(负数为不存在):" + index); int newIndex = -index - 1; array = insertElement(array, 1, newIndex);//就是这 printArray("数组添加元素 1", array); } private static void printArray(String message, int array[]) { System.out.println(message + ": [length: " + array.length + "]"); for (int i = 0; i < array.length; i++) { if (i != 0){ System.out.print(", "); } System.out.print(array[i]); } System.out.println(); } private static int[] insertElement(int original[], int element, int index) { int length = original.length; int destination[] = new int[length + 1]; System.arraycopy(original, 0, destination, 0, index); destination[index] = element; System.arraycopy(original, index, destination, index + 1, length - index); return destination; } }

    代码输出结果:

    获取数组长度

    第一维数组长度: data.length第二维数组长度: data[0].length返回值就是长度

    数组反转

    import java.util.ArrayList; import java.util.Collections; public class Main { public static void main(String[] args) { ArrayList<String> arrayList = new ArrayList<String>(); arrayList.add("A"); arrayList.add("B"); arrayList.add("C"); arrayList.add("D"); arrayList.add("E"); System.out.println("反转前排序: " + arrayList); Collections.reverse(arrayList); System.out.println("反转后排序: " + arrayList); } }

    代码输出结果:

    数组获取最大和最小值

    通过 Collections 类的 Collections.max() 和 Collections.min() 方法来查找数组中的最大和最小值 import java.util.Arrays; import java.util.Collections; public class MainClass { public static void main(String[] args) { Integer[] numbers = { 8, 2, 7, 1, 4, 9, 5}; System.out.println(Arrays.asList(numbers)); int min = (int) Collections.min(Arrays.asList(numbers)); int max = (int) Collections.max(Arrays.asList(numbers)); System.out.println("最小值: " + min); System.out.println("最大值: " + max); } }

    代码输出结果:

    Array和ArrayList

    Array相当于C++的数组,Array List相当于C++中的动态数组。

    Processed: 0.012, SQL: 9