JAVA OOP 集合架構

來源:互聯網
上載者:User

標籤: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 集合架構

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.