1. 記住三個介面
collection、map以及iterator,前面兩個介面是用來裝物件的,稱為容器;iterator是用來迭代collection裡面的物件的(就是按順序訪問物件),稱為迭代器。
其中 collection 每個單位只能裝乙個物件,而 map 每個單位可以裝一對物件。iterator 可以按順序去訪問每個單位裡的內容。
collection 可以存放一組物件,可以簡單理解為「物件陣列」。它衍生出了三個介面,set、list、queue(主要關心這三個),每個子介面又有不一樣的實現類。淺綠色代表介面,淺黃色代表具體的實現類。其中常用的類已經打上勾了。
collection 定義了很多方法,其子介面有的增加了自己本身的方法(比如:list)。使用時我們需要用具體的實現類去建立容器物件裝」東西「,可以用父介面 容器名稱 = new 具體實現類();
這樣的語法。基本上不使用 collection 定義,因為有的子介面有對 collection 介面進行擴充,所以我們一般使用第二欄的子介面去定義容器。定義完畢後直接使用介面中的方法就可以操作了,記住一定要勤看文件。
set strs =
new enumset();
set strs1 =
new treeset();
queue strs2 =
new arraydeque();
list strs3 =
new linkedlist();
list strs4 =
new arraylist();
// new 後面的實現類根據不同需求更換
3. map
map 的每個格仔是用來裝一對資料的,並且兩個物件是有對映(對應)關係的,而且key 不允許重複。我們不關注 map 衍生出來的子介面,關心的是它的實現類。淺綠色代表介面,淺黃色代表具體的實現類。其中常用的類已經打上勾了。
使用方式同 collection ,也是父介面 容器名稱 = new 具體實現類();
這樣的語法。
map strs = new hashmap();
map strs1 = new treemap();
// new 後面的實現類根據不同需求更換
4. iterator
迭代器,我們用它去訪問 collection 實現類定義的容器裡裝的物件。先用定義好的容器產生乙個迭代器的物件,然後掉用方法去遍歷元素:
list
<
string
> strs =
new arraylist<>(); // linkedlist也可以實現
strs.add("hello");
strs.add("world"); // 新增元素
strs.add("name");
iterator<
string
> it = strs.iterator(); // 返回乙個iterator物件用於迭代
// 迭代輸出
while (it.hasnext())
java的集合類
由collection介面派生的兩個介面是list和set set set介面同樣是collection介面的乙個子介面,它表示數學意義上的集合概念。set中不包含重複的元素,即set中不存兩個這樣的元素e1和e2,使得e1.equals e2 為true。由於set介面提供的資料結構是數學意義上集...
java中LinkedList 集合類實現棧和佇列
across through over的區別 三者都有 穿過 通過 的意思,但用法各不相同。across多指從一定範圍的一邊到另一邊,且在物體的表面上或沿著某一條線的方向而進行的動作,其含義常與介詞on有關。如 the students ran across the playground into ...
Java集合類的總結
集合類庫考慮到 容納自己物件 的問題,並將其分割成兩個明確的概念 1 集合 collection 一組單獨的元素。乙個list 列表 必須按特定的順序容納元素,而乙個set 集 不可包含任何重複的元素。2 對映 map 一系列 鍵 值 對,如雜湊表身上的充分體現。map可以和陣列一樣,擴充到多維,可...