好程序員大數(shù)據(jù)教程分享實用的大數(shù)據(jù)之?dāng)?shù)組
1.5.1 數(shù)組的定義與元素訪問
> 數(shù)組是一個容器, 是一個用來存儲指定數(shù)據(jù)類型的容器
注意事項:
1. 數(shù)組是一個定長的容器, 一旦實例化完成, 長度不能修改
名詞解釋:
1. 數(shù)組長度: 指的就是這個容器的容量, 表示這個數(shù)組中能存儲多少個數(shù)據(jù)
2. 元素: 指的就是數(shù)組中存儲的數(shù)據(jù)
3. 下標(biāo): 某一個元素在數(shù)組中的一個位置索引
4. 遍歷數(shù)組: 依次獲取到數(shù)組中的每一個元素
**數(shù)組的元素訪問**
通過下標(biāo)來訪問的, 數(shù)組中元素的下標(biāo)是從0開始的
數(shù)組中元素的下標(biāo): [0, 數(shù)組.length - 1]
**注意:**
在訪問數(shù)組中元素的時候, 注意下標(biāo)的范圍, 不要越界!!!
遍歷數(shù)組:
1. 使用循環(huán)遍歷下標(biāo)的方式
```java
int[] array = {1, 2, 3};
for (int index = 0; index < array.length; index++) {
System.out.println(array[index]);
}
```
2. 使用增強for循環(huán)
```java
int[] array = {1, 2, 3};
for (int ele : array) {
System.out.println(ele);
}
```
1.5.2 數(shù)組的內(nèi)存分析
1.5.3 數(shù)組的常見操作
1.5.4 數(shù)組排序
**選擇排序**
固定一個下標(biāo), 然后用這個下標(biāo)對應(yīng)的元素依次和后面每一個下標(biāo)的元素進行比較
```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;
}
}
}
```
**冒泡排序**
依次比較數(shù)組中兩個相鄰的元素
```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 數(shù)組元素查找
從一個數(shù)組中查詢指定的元素出現(xiàn)的下標(biāo)
1. 順序查找
2. 二分查找
1.5.6 二維數(shù)組