JavaSE核心(4)

发布时间 2023-10-06 21:32:16作者: xingningmeng

三:数组

    一、概述

       1. 数组的概念:相同数据类型元素的集合

       2. 数组的作用:用来存储基本数据类型和引用数据类型的数据

 

    二、常用操作

1 public class TestArray { 2 public static void main(String[] args) { 3 /** 4 * 1. 数组的初始化 5 */ 6 // 1.1 数组的静态初始化 7 int[] array1 = { 1, 3, 5, 6, 7, 2, 4, 10 }; 8 9 // 1.2 数组的动态初始化 10 int[] array2 = new int[5]; 11 array2[0] = 1; 12 array2[1] = 2; 13 array2[2] = 7; 14 array2[3] = 3; 15 array2[4] = 4; 16 17 /** 18 * 2. 数组的遍历 19 */ 20 // 2.1 for循环打印数组 21 for (int i = 0; i < array2.length; i++) { 22 System.out.print(array2[i]); 23 } 24 25 // 2.2 foreach打印数组 26 for (int i : array2) { 27 System.out.print(i); 28 } 29 30 /** 31 * 3. 数组排序 32 */ 33 34 // 3.1 冒泡排序 35 for (int i = 0; i < array2.length; i++) { 36 for (int j = i + 1; j < array2.length; j++) { 37 // 1. 比较相邻元素,将较大的数冒泡 38 if (array2[i] > array2[j]) { 39 // 2. 交换 40 int temp = array2[i]; 41 array2[i] = array2[j]; 42 array2[j] = temp; 43 } 44 } 45 } 46 for (int i : array2) { 47 System.out.println(i); 48 } 49 50 // 3.2 选择排序 51 for (int i = 0; i < array2.length; i++) { 52 int min = i; 53 for (int j = i; j < array2.length; j++) { 54 // 1. 找到最小的数 55 if (array2[j] < array2[min]) { 56 // 2. 将最小的数赋值给min 57 min = j; 58 } 59 } 60 // 3. 交换两个数的位置 61 int temp = array2[i]; 62 array2[i] = array2[min]; 63 array2[min] = temp; 64 } 65 for (int i : array2) { 66 System.out.println(i); 67 } 68 69 // 3.3 反转排序 70 for (int i = 0; i < array2.length / 2; i++) { 71 // 将第i位元素与array2.length-1-i位元素交换 72 int temp = array2[i]; 73 array2[i] = array2[array2.length - 1 - i]; 74 array2[array2.length - 1 - i] = temp; 75 } 76 for (int i : array2) { 77 System.out.println(i); 78 } 79 80 // 3.4 插入排序 81 for (int i = 0; i < array2.length; i++) { 82 int j = i; 83 int tmp = array2[i]; 84 for (; j > 0 && tmp < array2[j - 1]; j--) { 85 // 1. 将大于待排序的数向后移 86 array2[j] = array2[j - 1]; 87 } 88 // 2. 交换 89 array2[j] = tmp; 90 } 91 for (int i : array2) { 92 System.out.println(i); 93 } 94 } 95 }

    三、Arrays工具类