• Java学习——Java数组总结


    数组(Array)是有序数据的集合,数组中的每个元素具有相同的数据类型,可以用一个统一的数组名和不同的下标来唯一确定数组中的元素。根据数组的维度,可以将其分为一维数组、二维数组和多维数组等。

    一维数组

    数组中每个元素都只带有一个下标,是数组中最简单的一种数组。

    1. 声明

    声明一维数组语法有两种格式(推荐使用第一种)。

    type[] arrayName;    // 数据类型[] 数组名;

    或者

    type arrayName[];    // 数据类型 数组名[];

    2. 分配空间

    分配空间语法格式如下。

    arrayName = new type[size];    // 数组名 = new 数据类型[数组长度];

    3. 初始化

    Java 中初始化数组有以下 3 种方式。

    • 使用 new 指定数组大小后进行初始化
    • 使用 new 指定数组元素的值
    • 直接指定数组元素的值
    1. // 使用 new 指定数组大小后进行初始化
    2. int[] number = new int[5];
    3. number[0] = 1;
    4. number[1] = 2;
    5. number[2] = 3;
    6. number[3] = 5;
    7. number[4] = 8;
    8. // 使用 new 指定数组元素的值(2种方式)
    9. int[] number = new int[] { 1, 2, 3, 5, 8 };
    10. int[] number = new int[5] { 1, 2, 3, 5, 8 };
    11. // 直接指定数组元素的值(2种方式)
    12. int[] number = { 1, 2, 3, 5, 8 };
    13. int[] number;
    14. number={1,2,3,5,8};

    4. 使用

    • 获取单个元素
    • 获取全部元素
    1. // 获取单个元素
    2. int[] number = { 1, 2, 3, 5, 8 };
    3. System.out.println("获取第一个元素:" + number[0]);
    4. // 使用for语句获取全部元素
    5. int[] number = { 1, 2, 3, 5, 8 };
    6. for (int i = 0; i < number.length; i++) {
    7. System.out.println("第" + (i + 1) + "个元素的值是:" + number[i]);
    8. }
    9. // 使用foreach语句获取全部元素
    10. for (int val : number) {
    11. System.out.print("元素的值依次是:" + val + "\t");
    12. }

    二维数组

    二维数组被看作数组的数组。

    1. 声明

    声明二维数组语法有两种格式(推荐使用第一种)。

    type[][] arrayName;    // 数据类型[][] 数组名;

    或者

    type arrayName[][];    // 数据类型 数组名[][];

    第一个中括号表示行,第二个中括号表示列。

    2. 初始化

    二维数组可以通过以下 3 种方式来指定元素的初始值。

    1. type[][] arrayName = new type[][]{值 1,值 2,值 3,…,值 n}; // 在定义时初始化
    2. type[][] arrayName = new type[size1][size2]; // 给定空间,在赋值
    3. type[][] arrayName = new type[size][]; // 数组第二维长度为空,可变化
    1. // 定义时初始化
    2. int[][] temp = new int[][]{{1,2},{3,4}};
    3. // 给定空间在赋值
    4. int[][] temp = new int[2][2];
    5. // 数组第二维长度为空,可变化
    6. int[][] temp = new int[2][];

    3. 使用

    • 获取单个元素:arrayName[i-1][j-1];arrayName 表示数组名称,i 表示数组的行数,j 表示数组的列数。
    • 获取全部元素:使用嵌套 for 循环或 for each 循环语句。
    • 获取整行元素:需要将行数固定,然后只遍历该行中的全部列即可。
    • 获取整列元素:获取指定列的元素与获取指定行的元素相似,保持列不变,遍历每一行的该列即可。

    数组操作

    1. 比较数组

    比较数组元素的个数和对应位置的元素是否相等。

    Arrays.equals(arrayA, arrayB);

    arrayA 是用于比较的第一个数组,arrayB 是用于比较的第二个数组。

    2. 填充数组

    在指定位置进行数值填充。

    Arrays.fill(array,value);

    array 表示数组,value 表示填充的值。只能使用同一个数值进行填充。

    3. 数组查找

    从数组中查询指定位置的元素,或者查询某元素在指定数组中的位置,语法格式如下。

    binarySearch(Object[] a,Object key);

    a 表示要搜索的数组,key 表示要搜索的值。

    在数组中指定范围内查找,语法格式如下。

    binarySearch(Object[] a,int fromIndex,int toIndex,Object key);

    a 表示要进行查找的数组,fromIndex 指定范围的开始处索引(包含开始处),toIndex 指定范围的结束处索引(不包含结束处),key 表示要搜索的元素。

    4. 复制数组

    1) copyOf()

    Arrays.copyOf(dataType[] srcArray,int length);

    srcArray 表示要进行复制的数组,length 表示复制后的新数组的长度

    2) CopyOfRange()

    Arrays.copyOfRange(dataType[] srcArray,int startIndex,int endIndex)

    srcArray 表示原数组,startIndex 表示开始复制的起始索引,endIndex 表示终止索引。

    3) arraycopy()

    System.arraycopy(dataType[] srcArray,int srcIndex,int destArray,int destIndex,int length)

    srcArray 表示原数组,srcIndex 表示源数组中的起始索引,destArray 表示目标数组,destIndex 表示目标数组中的起始索引,length 表示要复制的数组长度。

    4) clone()

    array_name.clone()

    数组排序

    Java 数组中有 5 种常见排序方法,分别是:

    1. Arrays.sort()
    2. 冒泡排序
    3. 快速排序
    4. 选择排序
    5. 直接插入

    常见问题解答

    1. 声明数组需要注意什么?

    声明数组时,一定要考虑数组的最大容量,防止容量不够的现象。数组一旦被声明,它的容量就固定了,不容改变。如果想在运行程序时改变容量,就需要用到集合。

    2. 数组在平时的程序代码中使用是否频繁?

    数组有一个缺点,就是一旦声明,就不能改变容量,这个也是其使用频率不高的原因。一般存储数据会使用集合或 Vector 来存储数据。

    Java入门基础视频教程,java零基础自学就选黑马程序员Java入门教程(含Java项目和Java真题)

  • 相关阅读:
    Caffeine 源码、架构、原理(史上最全,10W字 超级长文)
    Selenium经典面试题-多窗口切换解决方案
    扫雷 | C语言 | 简单易懂 | 扫雷相关知识点总结
    月饼问题PAT B1020(贪心算法)
    2022年全球市场血管探针总体规模、主要生产商、主要地区、产品和应用细分研究报告
    【uniapp/uView】解决消息提示框悬浮在下拉框之上
    前缀树-Trie树
    猿创征文|——C++|vecotor
    第三章:栈/队列 重点题
    前端开发核心知识进阶 —— 宏任务和微任务
  • 原文地址:https://blog.csdn.net/Itmastergo/article/details/128143623