常用的資料結構—陣列
阿新 • • 發佈:2020-06-29
原文連結:常用的資料結構
常用的資料結構—陣列
陣列對於每一門程式語言來說都是重要的資料結構之一,當然不同語言對陣列的實現及處理也不盡相同。
Java 語言中提供的陣列是用來儲存固定大小的同類型元素。
你可以宣告一個數組變數,如 numbers[100] 來代替直接宣告 100 個獨立變數 number0,number1,....,number99。
要使用Java的陣列,必須經過以下兩個步驟。
(1) 宣告陣列。
(2) 分配記憶體給該陣列。
一維陣列
這兩個步驟的語法如下。
資料型別 陣列名[]; // 宣告一維陣列 資料型別[] 陣列名; // 宣告一維陣列 陣列名 = new 資料型別[個數]; //分配記憶體給陣列 // 另外一種建立陣列的方法 資料型別[] 陣列名 = {value0, value1, ..., valuek};
注意: 建議使用 資料型別[] 陣列名
的宣告風格宣告陣列變數。 資料型別 陣列名[]
風格是來自 C/C++ 語言 ,在Java中採用是為了讓 C/C++ 程式設計師能夠快速理解java語言。
例項1:
package cn.coder306; public class Main { public static void main(String[] args) { //建立陣列 語法:資料型別[] 陣列名 = {value0, value1, ..., valuek}; int [] numbers = {10, 20, 30, 40, 50}; readNumbers(numbers); } // 讀數字 public static void readNumbers(int[] numbers) { for(int n : numbers) { if(n == 30){ // 跳出迴圈 break; } System.out.println("數字:" + i); } } }
例項2:
有一個int型別的購物車,需要給這個存放車子所有物品的序號。
package cn.coder306;
public class Main {
public static void main(String[] args) {
//建立陣列 語法:資料型別[] 陣列名 = new 資料型別[個數];
int[] car = new int[10];
for(int i = 0 ;i < car.length; i++) {
car[i] = i;
}
}
}
多維陣列
多維陣列可以看成是陣列的陣列,比如二維陣列就是一個特殊的一維陣列,其每一個元素都是一個一維陣列,例如:
String str[][] = new String[3][4];
語法:
資料型別 陣列名[][]; // 宣告二維陣列
資料型別[][] 陣列名; // 宣告二維陣列
陣列名 = new 資料型別[個數][個數]; //分配記憶體給陣列
// 另外一種建立二維陣列的方法
資料型別[][] 陣列名 = {{value0, value1, ..., valuek},{value0, value1, ..., valuek}....};
例項:
要求使用二維碼陣列按照座位順序記錄班級所有學生成績,班級只有4排2列
package cn.coder306;
public class Main {
public static void main(String[] args) {
// 班級分數記錄二維陣列
int[][] scores = new int[2][];
// 第一排分數
int[] col1 = new int[4];
col1[0] = 78;
col1[1] = 79;
col1[2] = 67;
col1[3] = 80;
// 第二批分數
int[] col2 = new int[4];
col2[0] = 98;
col2[1] = 99;
col2[2] = 100;
col2[3] = 95;
scores[0] = col1;
scores[1] = col2;
}
}
陣列操作
對比兩個陣列對應位置元素值是否相同
package cn.coder306;
public class Main {
public static void main(String[] args) {
int[] col1 = new int[4];
col1[0] = 78;
col1[1] = 79;
col1[2] = 67;
col1[3] = 80;
int[] col2 = new int[4];
col2[0] = 98;
col2[1] = 99;
col2[2] = 100;
col2[3] = 95;
boolean result = equalsArrays(col1, col2);
System.out.println(result);
}
/**
* 對比陣列是否相同
* @param col1
* @param col2
* @return
*/
public static boolean equalsArrays(int[] col1,int[] col2) {
//先判斷陣列長度是否一致
if(col1.length != col2.length) {
return false;
}
// 判斷元素值是否相同
for(int i = 0;i < col1.length ; i++) {
if(col1[i] != col2[i]) {
return false;
}
}
return true;
}
}
思考題:
完成陣列int[] col1 = {78,30,50,49,80}進行排序?
查詢陣列int[] col1 = {78,30,50,49,80}中80的位置?
深入探討可以加筆者QQ:1120855315
點選獲取免費Java免費視訊
新增QQ群837949026可以領取更多學習資料