標籤:border object 資料 順序 remove 取出 rate 泛型 必須
第六章 集合架構
一:介面:即表示集合的抽象資料類型。
實現:即集合架構中介面的實現。
演算法:在一個實現了某個集合架構中的介面的對象身上完成某種有用的計算的方法,例如尋找、
排序等。
Collection 介面儲存一組不唯一,無序的對象
List 介面儲存一組不唯一,有序(插入順序)的對象
Set 介面儲存一組唯一,無序的對象
Map介面儲存一組索引值對象,提供key到value的映射
二、List介面
List介面的常用類有ArrayList和LinkedList。它們都可以容納所有類型的對象,包括
Null,允許重複,並且都保證元素的儲存順序。
ArrayList實現了長度可變的數組,在記憶體中分配連續的空間。遍曆元素和隨機訪問元素的效率比較高
LinkedList採用鏈表格儲存體方式。插入、刪除元素時效率比較高。
1.List介面常用方法
|
方法名 |
說明 |
|
boolean add(Object o) |
在列表的末尾順序添加元素,起始索引位置從0開始
|
|
void add(int index,Object o) |
在指定的索引位置添加元素。索引位置必須介於0和列表中元
素個數之間 |
|
int size() |
返回列表中的元素個數 |
|
Object get(int index) |
回指定索引位置處的元素。取出的元素是Object類型,使用前需要進行強制類型轉換 |
|
boolean contains(Object o) |
判斷列表中是否存在指定元素 |
|
boolean remove(Object o) |
從列表中刪除元素
|
|
Object remove(int index) |
從列表中刪除指定位置元素,起始索引位置從0開始
|
2.LinkedList的特殊方法
|
方法名 |
說明 |
|
void addFirst(Object o) |
在列表的首部添加元素 |
|
void addLast(Object o) |
在列表的末尾添加元素 |
|
Object getFirst() |
返回列表中的第一個元素 |
|
Object getLast() |
返回列表中的最後一個元素 |
|
Object removeFirst() |
刪除並返回列表中的第一個元素 |
Object removeLast() 刪除並返回列表中的最後一個元素
Map的常用方法
方法名 說 明
Object put(Object key, Object val) 以“鍵-值對”的方式進行儲存
Object get (Object key) 根據鍵返回相關聯的值,如果不存在指定的鍵,返回null
Object remove (Object key) 刪除由指定的鍵映射的“鍵-值對”
int size() 返回元素個數
Set keySet () 返回鍵的集合
Collection values () 傳回值的集合
boolean containsKey (Object key) 如果存在由指定的鍵映射的“鍵-值對”,返回true
Hashtable和HashMap的異同P190
三、迭代器Iterator
所有集合介面和類都沒有提供相應遍曆方法,而是由Iterator實現集合遍曆
Collection 介面的iterate()方法返回一個Iterator,然後通過Iterator介面的兩個方法可實現
遍曆
1.boolean hasNext(): 判斷是否存在另一個可訪問的元素
2.Object next(): 返回要訪問的下一個元素
四、泛型集合
把任何類型對象通過add(Object obj) 放入List中,認為只是Object類型
通過get(int index) 取出List中元素時必須進行強制類型轉換,繁瑣而且容易出現異常
使用Map的put(Object key, Object value)和get (Object key)存取對象時存在同樣問題
使用Iterator的next()方法擷取元素時存在同樣問題
使用java實現物件導向 第六章