Java 数据结构 - 数组(Array)
Java 中的数组(Array)数据结构
1. 数组的定义
数组是最基本的数据结构之一,它是一种用于存储多个相同类型元素的容器。在 Java 中,数组是对象,可以存储基本数据类型和引用类型的数据。
2. 数组的特点
- 固定大小:一旦创建,数组的大小就不能改变。
- 连续内存:数组中的元素在内存中是连续存储的。
- 索引访问:可以通过索引快速访问数组中的任何元素。
- 类型安全:数组只能存储同一类型的元素。
3. 创建数组
在 Java 中,有多种方式可以创建数组:
// 方法1:声明并初始化
int[] numbers = {1, 2, 3, 4, 5};
// 方法2:先声明,后初始化
int[] numbers = new int[5];
numbers[0] = 1;
numbers[1] = 2;
// 方法3:使用 new 关键字并直接初始化
String[] fruits = new String[]{"Apple", "Banana", "Orange"};
4. 访问数组元素
可以使用索引来访问数组中的元素。Java 中的数组索引从0开始。
int[] numbers = {10, 20, 30, 40, 50};
System.out.println(numbers[0]); // 输出:10
System.out.println(numbers[2]); // 输出:30
5. 数组的常用操作
5.1 遍历数组
int[] numbers = {1, 2, 3, 4, 5};
// 使用 for 循环
for (int i = 0; i < numbers.length; i++) {
System.out.println(numbers[i]);
}
// 使用增强 for 循环(for-each)
for (int number : numbers) {
System.out.println(number);
}
5.2 数组排序
Java 提供了 Arrays 类,其中包含了许多有用的数组操作方法,如排序:
import java.util.Arrays;
int[] numbers = {5, 2, 8, 1, 9};
Arrays.sort(numbers);
System.out.println(Arrays.toString(numbers)); // 输出:[1, 2, 5, 8, 9]
5.3 数组复制
int[] source = {1, 2, 3, 4, 5};
int[] destination = new int[5];
// 使用 System.arraycopy()
System.arraycopy(source, 0, destination, 0, source.length);
// 或使用 Arrays.copyOf()
int[] destination2 = Arrays.copyOf(source, source.length);
6. 多维数组
Java 也支持多维数组,最常见的是二维数组:
int[][] matrix = {
{1, 2, 3},
{4, 5, 6},
{7, 8, 9}
};
System.out.println(matrix[1][1]); // 输出:5
7. 数组的优缺点
优点:
- 快速的随机访问
- 内存利用效率高
缺点:
- 大小固定,不能动态调整
- 插入和删除操作效率低
8. 总结
数组是 Java 中最基本和常用的数据结构之一。虽然它有一些限制,如固定大小,但在需要快速随机访问和已知数据量的情况下,数组仍然是一个很好的选择。对于需要频繁插入、删除操作或动态大小的场景,可以考虑使用 ArrayList 等集合类。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?