1. 程式人生 > >JAVA OOP 集合框架

JAVA OOP 集合框架

index 效率 HR 需要 開發 order 增加 mark 之間

1.Collection是集合類的上級接口,繼承與他的接口主要有Set 和List. Collections是針對集合類的一個幫助類,他提供一系列靜態方法實現對各種集合的搜索、排序、線程安全化等操作。

數組和集合的主要的區別

2.(1) 數組可以存儲基本數據類型和對象,而集合中只能存儲對象(可以以包裝類形式存儲基本數據類型)。

(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 集合框架