大数据:大数据之数组
1.5.1 数组的定义与元素访问
数组是一个容器, 是一个用来存储指定数据类型的容器
注意事项:
- 数组是一个定长的容器, 一旦实例化完成, 长度不能修改
名词解释: - 数组长度: 指的就是这个容器的容量, 表示这个数组中能存储多少个数据
- 元素: 指的就是数组中存储的数据
- 下标: 某一个元素在数组中的一个位置索引
- 遍历数组: 依次获取到数组中的每一个元素
数组的元素访问
通过下标来访问的, 数组中元素的下标是从0开始的
数组中元素的下标: [0, 数组.length - 1]
注意:
在访问数组中元素的时候, 注意下标的范围, 不要越界!!!
遍历数组:
-
使用循环遍历下标的方式
int[] array = {1, 2, 3}; for (int index = 0; index < array.length; index++) { System.out.println(array[index]); }
-
使用增强for循环
int[] array = {1, 2, 3}; for (int ele : array) { System.out.println(ele); }
1.5.2 数组的内存分析
1.5.3 数组的常见操作
1.5.4 数组排序
选择排序
固定一个下标, 然后用这个下标对应的元素依次和后面每一个下标的元素进行比较
int[] array = {1, 3, 5, 7, 9, 0, 8, 6, 4, 2};
for (int index = 0; index < array.length - 1; index++) {
for (int compare = index + 1; compare < array.length; compare++) {
if (array[index] < array[compare]) {
int temp = array[index];
array[index] = array[compare];
array[compare] = temp;
}
}
}
冒泡排序
依次比较数组中两个相邻的元素
int[] array = {1, 3, 5, 7, 9, 0, 8, 6, 4, 2};
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array.length - 1 - i; j++) {
if (array[j] < array[j + 1]) {
int temp = array[j];
array[j] = array[j + 1];
array[j + 1] = temp;
}
}
}
1.5.5 数组元素查找
从一个数组中查询指定的元素出现的下标
- 顺序查找
- 二分查找
1.5.6 二维数组