目錄:
ArrayList 順序泛型容器
HashSet 集合容器
HashMap
要用Java要用Java的功能。首先列出記事本所需功能:
可以新增記錄(字串);
可以獲得記錄條數;
可以刪除其中某一筆記錄;
可以獲得指定第幾條的記錄;
可以得到指定第幾條的記錄;
可以取得指定第幾條列出所有的記錄。
如果這個記事本是某個大程序的其中一部分,也就是說還有上層程序,那麼上層程序就有可能會調用這個記事本以上列出的某個數據。
所以我們稱上述所列功能為這個記事本的 介面 。
那麼呼叫這些介面就是透過記事本這個類別的public函數(method)。
(); 還要聲明import java .util.ArrayList;
arraylist可以任意往裡面存放數據,不限數目,這就實現了記事本的要求。
notes
notes.add()
notes.size()
notes.remove(index)
notes.get(indexe). =new String[notes.size()])
透過上述操作實作記事本的介面函數。
運行:
另外,容器類型還有集合容器(Set),如HashSet,同樣是一個類,所具有的特性是內部元素是不排序的,不能有重複的元素,與數學裡的集合概念相同。
由程式運作結果可以看到ArrayList 和HashSet 這兩種容器的差異。
注意:由程式還可以看到,兩個容器的輸出不再是把容器的每個元素賦值給另一個數組,再透過for each循環把數組裡的每個元素輸出。這裡我們是直接println出來了一個容器的對象,是可以的。這是因為:{
如第一個紅框所示,如果一個類別裡有「public String toString() {}」函數,則可以直接println一個這個類別的物件名稱,輸出函數的時候會自動呼叫這個函數的時候的物件會的,如第二個紅框所示。所以,我們猜測,ArrayList和HashSet這兩個公共類別原始檔裡一定也有「public String toString() {}」 類似的函數。
}
--------------------------------------------- ----------------------------------------------
HashMap容器: HashMap
一個鍵對應一個值,當給一個鍵多次put之後,這個鍵對應最後put的值,如圖:(一個輸入面額,輸出多對應美元名稱的程序,如:1美分叫做1penny 。