数组概论
- 数组是相同类型数据的有序集合。
- 它由相同类型的若干数据按一定先后次序排列组合而成。
- 其中每个数据叫数组元素,可通过下标来访问这些元素。
数组声明创建
-
要使用数组,得先声明数组变量,有两种语法:
dataType[] arrayRefVar; // 首选的方法 或 dataType arrayRefVar[]; // 效果相同,但不是首选方法
-
Java 用
new
操作符创建数组,语法如下:dataType[] arrayRefVar = new dataType[arraySize];
-
数组元素通过索引访问,索引从 0 开始。
-
获取数组长度用:
arrays.length
。
三种初始化
- 静态初始化
// 创建 + 赋值
int[] a = {1,2,3};
Man[] mans = {new Man(1,1),new Man(2,2)};
- 动态初始化
// 声明 + 初始化 + 赋值
int[] a = new int[2];
a[0] = 1;
a[1] = 2;
- 数组默认初始化
数组是引用类型,其元素如同类的实例变量,因此数组一经分配空间,其每个元素会像实例变量那样被隐式初始化(即数组创建后会默认初始化值)。
数组的四个基本特点
- 数组长度确定,创建后大小不可变。
- 元素必须是相同类型,不能混合。
- 元素可为任何数据类型,包括基本类型和引用类型。
- 数组变量是引用类型,数组可看成对象,元素相当于对象成员变量,数组本身是对象,在 Java 中对象在堆中,所以数组无论存什么类型,数组对象本身都在堆中。
数组边界
- 下标的合法区间:[0, length-1],如果越界就会报错。ArrayIndexOutOfBoundsException。
数组使用
- For-Each 循环
- 数组作方法入参
- 数组作返回值
多维数组
多维数组可以看成是数组的数组,比如二维数组就是特殊的一维数组,其每个元素都是一维数组。
int[][] a = new int[2][5]; // 两行五列的数组
a[1][0];
int[][] array = {{1,2},{3,4},{5,6}}
Arrays 类
- 数组的工具类是
java.util.Arrays
。 - 数组对象本身没太多可调用方法,API 提供
Arrays
工具类供基本操作。 - 查看 JDK 帮助文档。
Arrays
类方法是static
修饰的静态方法,使用时直接用类名调用,不用对象调用。- 常用功能:
fill
方法给数组赋值。sort
方法对数组升序排序。equals
方法比较数组元素值是否相等。binarySearch
方法对排序好的数组进行二分查找。
稀疏数组
- 当数组大部分元素为 0 或同一值时,可用稀疏数组保存。
- 稀疏数组处理方式:
- 记录数组的行数、列数及不同值的个数。
- 将不同值的元素及其行列和值记录在小规模数组中,以缩小程序规模。
- 如下图,左边是原始数组,右边是稀疏数组。
标签:初始化,Java,05,int,元素,数组,new From: https://www.cnblogs.com/you-ni/p/18669584