1、为什么会出现数组,它解决了什么
其实很简单,大量的数据出现了,但是缺少将数据存放起来的容器。因此数组出现了。
2、数组的基本概念
数组就是固定大小,里面的元素类型一致的容器
3、同类型的技术对比
除了数组,还有其他的容器类型,比如Collection家族,Map家族,Queue家族等等。
它们各有优劣,但是和数组显著的区别就是数组是定义好之后不可改变容器大小的,而其他的是可以改变的。
4、基本使用
对于数组,有以下几个方面:
-
对于容器:创建,大小,非空断言
-
对于单个数据(受到容器自身特性的约束):CRUD,转为其他容器内容(以后说)
对于容器
创建数组
数组定义有三种方式:
-
类型[] 名字 = new 类型[长度];
int[] arr = new int[3];
-
类型[] 名字 = new 类型[]{元素1,元素2,元素3,....}
int[] arr = new int[]{1,2,3,4,5}
-
类型[] 名字 = {元素1,元素2,元素3,....}
int[] arr = {1,2,3,4,5}
数组在创建的时候必须指定且只能指定一次长度,因为数组的容量是不可以变化的
第一种方式,在创建的时候就已经指定了长度,但是没有指定元素。
第二种和第三种方式,在创建的时候直接指定了固定的元素,也相当于指定了长度。
获取大小
数据名.length
arr.length
非空断言
数组非空断言和数组中的内容非空断言:
public static void main(String[] args) {
int[] arr = null;
//数组非空断言
System.out.println(arr==null);
arr = new int[]{1, 2, 3, 4};
//元素非空断言
System.out.println(arr.length>0);
}
对于单个数据
读取数据
访问数组数据可以通过下标(索引)来访问,比如:arr[0]
更新数据
直接根据数组下标进行数据的更新操作: arr[0] = 1;
5、原理探究
很明显,数组是new出来的,而new出来的都放在堆里
数组是引用类型,非常明显
1、Main方法
2、新建数组,放到堆中,引用给变量