標籤:oop 特性 OLE body class java集合架構 cell fir water
1.Collection是集合類的上級介面,繼承與他的介面主要有Set 和List. Collections是針對集合類的一個協助類,他提供一系列靜態方法實現對各種集合的搜尋、排序、安全執行緒化等操作。
數組和集合的主要的區別
2.(1) 數組可以儲存基礎資料型別 (Elementary Data Type)和對象,而集合中只能儲存物件(可以以封裝類形式儲存基礎資料型別 (Elementary Data Type))。
(2) 數組的長度是固定的,集合長度是可以動態改變的
(3) 定義數組時必須指定數組元素類型,集合預設其中所有元素都是Object
(4) 無法直接擷取數組數組實際儲存的元素個數,length用來擷取數組的長度,但可以通過size()直接擷取集合實際儲存的元素個數
(5) 集合有多種實現方式和不同的適用場合,而不像數組僅採用分配連續的空間方式
(6) 集合以介面和類的形式存在。具有封裝,繼承和多態等類的特性,通過簡單的方法和屬性調用即可實現各種複雜的操作,大大提高軟體的開發效率。
3、 最常用的集合類是 List 和 Map。 List 的具體實現包括 ArrayList 和 Vector,它們是可變大小的列表,比較適合構建、儲存和操作任何類型對象的元素列表。 List 適用於按數值索引訪問元素的情形。
第七章 集合架構 1.如果並不知道程式運行時會需要多少對象,或者需要更複雜方式儲存物件——可以使用Java集合架構2.Java集合架構提供了一套效能優良,使用方便的介面和類,他們位於Java.util包中3.(1)介面 (2)具體類 (3)演算法:collection——提供對集合進行排序,遍曆等多種演算法實現註:collection介面儲存一組不唯一,無序的對象;List介面儲存一組唯一,有序(插入順序)的對象;Set介面儲存一組唯一,無序的對象4.(1)Map介面儲存一組索引值對象,提供key到value的映射 (2)ArrayList實現了長度可變的數值,在記憶體中分配連續的空間(遍曆元素和隨機訪問元素的效率比較高)5.List的常用方法
| 方法名 |
說明 |
| boolean add(Object o) |
在列表的末尾順序添加元素,
起始索引位置從0開始 |
|
voidadd(int index,Object o) |
在指定的索引位置添加元素。
索引位置必須介於0和列表中元素個數之間 |
|
intsize() |
返回列表中的元素個數 |
|
Objectget(intindex) |
返回指定索引位置處的元素。取出的元素是Object類型,使用前需要進行強制類型轉換 |
|
boolean contains(Object o) |
判斷列表中是否存在指定元素 |
|
boolean remove(Object o) |
從列表中刪除元素 |
|
Object remove(int index) |
從列表中刪除指定位置元素,
起始索引位置從0開始 |
註:LinkedList提供對頭部和尾部元素進行添加和刪除操作的方法6.LinkedList的特殊方法
| 方法名 |
說明 |
|
void addFirst(Objecto) |
在列表的首部添加元素 |
|
void addLast(Objecto) |
在列表的末尾添加元素 |
|
Object getFirst() |
返回列表中的第一個元素 |
|
Object getLast() |
返回列表中的最後一個元素 |
|
Object removeFirst() |
刪除並返回列表中的第一個元素 |
|
Object removeLast() |
刪除並返回列表中的最後一個元素 |
7.Map的常用方法
| 方法名 |
說明 |
|
Objectput(Object key, Object val) |
以“鍵-值對”的方式進行儲存 |
|
Objectget (Object key) |
根據鍵返回相關聯的值,如果不存在指定的鍵,返回null |
|
Objectremove (Object key) |
刪除由指定的鍵映射的“鍵-值對” |
|
intsize() |
返回元素個數 |
|
SetkeySet () |
返回鍵的集合 |
|
Collectionvalues () |
傳回值的集合 |
|
boolean containsKey(Object key) |
如果存在由指定的鍵映射的“鍵-值對”,返回true |
8.集合類對比(1)Vector和ArrayList的異同 實現原理、功能相同,可以互用 主要區別:?Vector安全執行緒,ArrayList重速度輕安全,線程非安全?長度需增長時,Vector預設增長一倍,ArrayList增長50%(2)Hashtable和HashMap的異同 實現原理、功能相同,可以互用 主要區別:?Hashtable繼承Dictionary類,HashMap實現Map介面?Hashtable安全執行緒,HashMap線程非安全?Hashtable不允許null值,HashMap允許null值9.迭代器Iterator方法1:通過迭代器Iterator實現遍曆 擷取Iterator:Collection 介面的iterate()方法 Iterator的方法?booleanhasNext():判斷是否存在另一個可訪問的元素?Object next(): 返回要訪問的下一個元素方法2:增強型for迴圈
for(元素類型t 元素變數x :數組或集合對象){
引用了x的java語句
}
註:兩者同樣可以遍曆其他集合類,通常使用增加for型迴圈
JAVA OOP 集合架構