使用java實現物件導向 第六章

來源:互聯網
上載者:User

標籤: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實現物件導向 第六章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.