Java 数组

前言

  • 数组是一个固定长度的,包含了相同类型数据的 容器。一旦分配好空间,是多长,就多长,不能增加也不能减少

1、创建数组

  • 创建数组:创建数组的时候,要指明数组的长度。int[] a = new int[5]; 或 int a[] = new int[5]; 或 int[] a = {100, 102, 444, 836, 3236};

2、初始化数组

  • 初始化数组:分配空间与赋值分步进行、分配空间,同时赋值。

3、排序

  • 排序:选择法排序、冒泡法排序。

  • Arrays 工具类提供了一个 sort 方法,只需要一行代码即可完成排序功能。

  • 选择法排序

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    public class HelloWorld {
    public static void main(String[] args) {

    int a[] = new int[]{18, 62, 68, 82, 65, 9};

    // 排序前,先把内容打印出来
    for (int i = 0; i < a.length; i++) {
    System.out.print(a[i] + " ");
    }
    System.out.println(" ");

    // 选择法排序

    for (int j = 0; j < a.length-1; j++) {
    for (int i = j+1; i < a.length; i++) {
    if(a[i] < a[j]){
    int temp = a[j];
    a[j] = a[i];
    a[i] = temp;
    }
    }
    }

    // 把内容打印出来
    for (int i = 0; i < a.length; i++) {
    System.out.print(a[i] + " ");
    }
    }
    }
  • 冒泡法排序

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    public class HelloWorld {
    public static void main(String[] args) {

    int a[] = new int[]{18, 62, 68, 82, 65, 9};

    // 排序前,先把内容打印出来
    for (int i = 0; i < a.length; i++) {
    System.out.print(a[i] + " ");
    }
    System.out.println(" ");

    // 冒泡法排序

    for (int j = 0; j < a.length; j++) {
    for (int i = 0; i < a.length-j-1; i++) {
    if(a[i] > a[i+1]){
    int temp = a[i];
    a[i] = a[i+1];
    a[i+1] = temp;
    }
    }
    }

    // 把内容打印出来
    for (int i = 0; i < a.length; i++) {
    System.out.print(a[i] + " ");
    }
    }
    }

4、增强型 for 循环

  • 增强型 for 循环:增强型 for 循环只能用来取值,却不能用来修改数组里的值。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    public class HelloWorld {
    public static void main(String[] args) {

    int values[] = new int[]{18, 62, 68, 82, 65, 9};

    // 常规遍历
    for (int i = 0; i < values.length; i++) {
    int each = values[i];
    System.out.println(each);
    }

    // 增强型 for 循环遍历
    for (int each : values) {
    System.out.println(each);
    }

    }
    }

5、复制数组

  • 复制数组System.arraycopy(src, srcPos, dest, destPos, length)

  • Arrays 提供了一个 copyOfRange 方法进行数组复制。

6、二维数组

  • 二维数组:数组里面的每一个元素,都是一个一维数组。

7、Arrays

  • Arrays:针对数组的工具类,可以进行 排序,查找,复制填充等功能。
关键字 简介
copyOfRange 数组复制
toString 转换为字符串
sort 排序
binarySearch 搜索(查找之前,必须使用 sort 进行排序,如果数组中有多个相同的元素,查找结果是不确定的)
equals 判断是否相同
fill 填充
文章目录
  1. 1. 前言
  2. 2. 1、创建数组
  3. 3. 2、初始化数组
  4. 4. 3、排序
  5. 5. 4、增强型 for 循环
  6. 6. 5、复制数组
  7. 7. 6、二维数组
  8. 8. 7、Arrays
隐藏目录