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