初識數組
1.數組的創建和組裝,並通過整型的索引值去訪問它們的元素。
2.數組長度(即數組存儲個數大小)的概念,數組的長度一旦初始化後是不能改變的。
拋磚引玉
1.爲什麼數組的長度是固定的,帶來的影響有什麼?
2.在看本章之前,我一直存在一個疑惑,在像有List、Map、Set等等容器的存在下(在操作上比數組方便的情況下,在實際開發中大多也是用List、Map、Set去存儲數據),爲什麼我們還要去使用數組?我相信有許多的初學者是和我一樣存在這樣的疑問?
3.在開發中有時需要我們對數組有更加複雜的操作,則需要對數組進行深入的學習。
徐徐圖之
下面開始我們的描述(請開始你的表演>.<)
數組爲什麼特殊?
數組與其他種類的容器之間的區別:
1.效率。 數組是一種效率最高的存儲和隨機訪問對象引用序列的方式(因爲它是一個簡單的線性序列,使得元素訪問非常快,但隨之付出的代價就是數組對象的大小被固定)。
2.類型。 在泛型之前,其他容器類在處理對象時,都將它們視作沒有具體類型。即將這些對象當做java中所有類的根類Object(java中所有的對象都繼承了Object,不要問我爲什麼)處理。而數組則是去持有某種具體類型,這樣帶來的好處就是程序在編譯期就可以進行檢查,防止不當的操作。而當javaSE1.5(引入泛型)之後,並且有了自動包裝之後,容器也能夠持有基本類型。數組已經可以玩蛋去了。
3.保存基本類型的能力。
數組是第一級對象
對此的描述我也是一知半解,但是裏面有一句總結我覺得應該寫出來,對象數組和基本類型數組在使用上基本是相同的,唯一的區別就是對象數組保存的是引用,基本類型數組直接保存基本類型的值。
返回一個數組
//返回一個字符數組
public static String[] ResultArray(int n){
String[] results = new String[n];
int i = 0;
while(n > 0 && i < n){
results[i] = String.valueOf(i++);
}
return results;
}
public static void main(String[] args) {
System.out.println(ResultArray(3)[1]);
}
多維數組
其實這個也比較好理解,我就放一個多維數組的例子吧。
public static void main(String[] args) {
//二維數組
int[][] a = {{1,2,3,},{4,5,6,},};
//三維數組
int[][][] b = { {{1,2,3,},{4,5,6,},}, { {4,5,6,},{7,8,9,},}, {{7,8,9,},{1,2,3,},}};
System.out.println(Arrays.deepToString(a));
System.out.println(Arrays.deepToString(b));
}
數組和泛型
1. java中不能創建泛型數組。
2.java中的數組必須知道它所持有的確切類型。
總而言之
其中有一些知識點我沒有提及(大多是一些方法使用),不是因爲不重要,而是我覺得沒有必要寫出來,有些東西需要用的時候去看下資料就可以了。Happy