五、数组

一、 数组的概述

1.数组

数组是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。

2.数组的特点

  • 数组属于引用类型的变量。数组的元素,既可以是基本数据类型,也可以是引用数据类型。
  • 创建数组对象会在内存中开辟一整块连续的空间;
  • 数组的长度一旦确定,长度就不能修改;
  • 数组是有序排列的。
  • 数组变量属于引用类型,数组也可以看作对象,其中每个元素相当于该对象的成员变量。
  • 数组本身就是对象,Java中对象是在堆中的,因此数组无论保存原始类型还是其他对象类型,数组本身是在堆中的

二、 一维数组的使用

2.1 声明

数据类型[ ] 数组名;

2.2 初始化

数据类型[ ] 数组名 = new 数据类型[元素个数];
int[] arr = new int[10];
数据类型[ ] 数组名 = new int[]{1,1,1};
int[] arr =new int[] {1,1,1}
数据类型[ ] 数组名 = {数组元素,数组元素};
int[] arr = {1,1,1}

2.3、内存的简化结构

image.png

2.4、一维数组的内存解析

数组名是通过存放在栈里的存放数据堆地址去堆地地址操作数组的image.png

三、 多维数组的使用

3.1、二位数组

格式一:元素的数据类型[][] 数组的名字 = new 元素的数据类型[二维数组的长度][一维数组的长度];
			int[][]          arr      = new     int[3][2];
格式二:元素的数据类型[][] 数组的名字 = new 元素的数据类型[二维数组的长度][];
			int[][]          arr      = new     int[3][];
格式三:元素的数据类型[][] 数组的名字 = {{元素1,元素2,...}, {元素1,元素2,...}, ...};
			int[][]			 arr      = {{1,2,3}, {4,5}, {5,6,7,8}};

3.2、二维数组的内存解析

image.png
四、 数组中涉及到的常见算法
4.1、数组元素的赋值
4.2、数组元素的基本操作
4.3、数组元素的基本操作 2
4.4、数组的复制、反转、查找
五、 Arrays 工具类的使用
六、 数组使用中的常见异常

Arrays 数组工具类

  • Arrays.toString(数组) 把数组数据连接成字符串。
  • Arrays.sort(数组) 数组排序 基本类型:优化的快速排序;引用类型:优化的合并排序。
  • Arrays.binarySearch(数组,目标值) 二分法查找,在有序数组中查找目标值下标,找不到返回 -(插入点+1)。
  • Arrays.copyof(数组,长度) 复制数组成一个指定长度的新数组。
  • System.arraycopy(原数组,原数组起始位置,目标数组,目标数组起始位置,复制的数量) ——不会创建新的数组,目标数组要事先存在

稀疏数组

image.png

posted @ 2023-02-26 21:34  Uinie  阅读(68)  评论(0编辑  收藏  举报