含義
陣列是用來儲存一組相同型別資料的資料型別。
陣列既可以儲存基本資料型別,也可以儲存引用資料型別。索引
建立完陣列後會自動生成索引,索引是從0開始到長度-1。
陣列索引可以是除了long的所有整型。
定義:資料型別 陣列名;
資料型別 陣列名;
靜態初始化:資料型別 陣列名 = new 資料型別;
資料型別 陣列名 = ;
動態初始化:資料型別 陣列名 = new 資料型別[資料長度];
陣列名[0] = 1;
陣列名[1] = 2;
陣列名[2] = 3;
宣告:陣列名 = new 型別名[資料長度];
賦值:陣列名[索引] = 變數/常量;
預設值
當建立乙個陣列時,每個元素都被初始化。
型別byte
short
intlong
float
double
char
boolean
引用資料型別
預設值0.0
0.0'\u0000'(空格)
false
null
foreach遍歷一維陣列
for(資料型別 變數名 : 陣列名)
型別名 陣列名 = new 型別名[m][n]; //m代表二維陣列的長度(二維陣列中有幾個一維陣列),n代表一維陣列的長度(一維陣列中有幾個資料)。
型別名 陣列名 = new 型別名[m];
型別名 陣列名 = new 型別名...};//new 型別名可以省略
下面是錯誤的陣列宣告示例:
int errarr1[2][3]; //不允許宣告靜態陣列
int errarr2 = new int[4]; //維數宣告順序應從高維到低維,先說明高維,再說明低維
int errarr3[4] = new int[3][4]; //陣列維數的指定只能出現在new運算子之後
foreach遍歷二維陣列
//遍歷二維陣列中每乙個一維陣列
for(資料型別 一維陣列名: 二維陣列名)
}
格式:system.arraycopy(源陣列物件, 源陣列物件起始下標, 目標陣列物件, 目標陣列物件起始下標, 要複製的陣列元素的數量)
public static void main(string args) ;
int hold = ;
system.arraycopy(elements, 1, hold, 2, 4);
for (int n : hold)
}輸出結果:10 9 2 3 4 5 4 3 2 1
氣泡排序法
n個數字來排序,兩兩相比,外層迴圈n-1,內層迴圈n-i-1。//n代表陣列長度
for(int i = 0; i < a.length-1; i++)
選擇排序法
從0索引開始,依次和後面元素比較,外層迴圈n-1,內層迴圈n。//n代表陣列長度
for(int i = 0; i < a.length-1; i++)
二分查詢(折半查詢)
陣列元素有序,每次都猜中間的那個元素,比較大或者小,就能減少一半的元素。
arrays.binarysearch方法
定義最小索引,最大索引
計算出中間索引
拿中間索引的值和要查詢的元素進行比較:
相等,直接返回當前的中間索引
大,在左邊找
小,在右邊找
重寫獲取最小索引或者最大索引
mid//中間值 = (max + min)/2;
大,在左邊找 max = mid - 1;
小,在右邊找 min = mid + 1;
回到2的位置
scala基礎語法 陣列
在scala中,可以使用new例項化類,建立物件的例項時,可以使用數值或型別引數。使用方括號來指明資料型別引數。如下 val hellostrings new array string 2 hellostrings 0 hello hellostrings 0 world n for i 0 to ...
JS基礎語法 陣列
陣列的作用 可以一次性儲存多個資料 1.通過建構函式建立陣列 語法 var 陣列名 new array var array new array 定義了乙個陣列 陣列的名字如果直接輸出,那麼直接就可以把陣列中的資料顯示出來,如果沒有資料,就看不到資料 var 陣列名 new array 長度 如果陣列...
es6 語法 (陣列擴充套件)
es6為array增加了from函式用來將其他物件轉換成陣列。當然,其他物件也是有要求,也不是所有的,可以將兩種物件轉換成陣列。1.部署了iterator介面的物件,比如 set,map,array。2.類陣列物件,什麼叫類陣列物件,就是乙個物件必須有length屬性,沒有length,轉出來的就是...