Java中的数组
数组的定义与特性
Java数组是一种用于存储相同类型数据元素的线性数据结构,其核心特点是内存连续且长度固定。数组中的每个元素通过索引访问,索引从0开始,最大值为数组长度减1。数组可以是基本数据类型(如int、char)或对象类型(如String、自定义类)的集合。由于数组在内存中分配连续空间,因此在随机访问元素时具有极高的效率,这也是其与容器类(如ArrayList)相比的主要优势之一。
在Java中,数组本身属于引用类型,即数组变量存储的是数组对象在堆内存中的地址。这意味着数组变量可以指向不同的数组对象,但一旦数组被创建,其长度不可改变。若需动态调整容量,通常需要借助其他数据结构或手动创建新数组并复制元素。
数组的创建与初始化
Java数组的创建分为静态初始化和动态初始化两种方式。静态初始化在声明数组时直接指定元素值,语法简洁直观,例如:
int[] arr1 = {1, 2, 3};
String[] names = {"张三", "李四"};
动态初始化则通过new关键字指定数组长度,系统会为元素分配默认值(如数值类型为0,布尔类型为false,引用类型为null),例如:
int[] arr2 = new int[5];
String[] arr3 = new String[3];
需要注意的是,静态初始化不允许在new关键字后的方括号内填写长度,而动态初始化必须明确指定长度。此外,数组的长度可通过length属