think in java第十六章數組 總結隨筆

初識數組

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章