java接口与集合_【总结】Java常用集合接口与集合类
目錄常見集合接口概述Collection
Map
Collection接口
Map接口
補充內(nèi)容
常見集合接口概述
Java中包含許多集合接口。其中比較常見的主要是Collection接口和Map接口:
1.1 Collection
由單元素組成的集合。其比較常見的直接子接口是List、Set和Queue接口。
表1.1 Collection接口常用方法
編號方法原型解釋備注
1boolean?add(E?e)往集合中添加元素e
2boolean?addAll(Collection extends E>?c)往集合中添加集合c此時集合c的元素必須是E子類對象
3boolean?remove(Object?o)將元素o從集合中移除
4boolean?removeAll(Collection extends E>?c)將集合c從集合中移除此時集合c的元素必須是E子類對象
5boolean?containsAll(Collection>?c)判斷集合中是否含有集合c的所有元素判斷時不考慮元素順序
6boolean?retainAll(Collection>?c)求集合與集合c的交集
7void?clear()將集合中的元素全部清空
8int?size()計算集合長度
9boolean?isEmpty()判斷集合是否為空
10boolean?contains(Object?o)判斷集合是否含有元素o
11Iterator?iterator()得到集合的Iterator
12Object[]?toArray()將集合轉(zhuǎn)換為Object數(shù)組使用時注意將返回值類型轉(zhuǎn)換
1.2 Map
由鍵值對組成的集合。其比較常見的直接實現(xiàn)類有HashMap、TreeMap和LinkedHashMap類。
表1.2 Map接口常用方法
編號方法原型解釋備注
1V?get(Object?key)獲取Map中key對應(yīng)的值
2V?put(K?key,V?value)將key-value這對鍵值對加入Map中
3void?putAll(Map extends K,? extends V>?m)將Map m加入Map中注意m的泛型
4V?remove(Object?key)將key索引的鍵值對從Map中移除
5void?clear()清空Map
6int?size()計算Map的長度
7boolean?isEmpty()判斷Map是否為空
8boolean?containsKey(Object?key)判斷Map是否含有主鍵key
9boolean?containsValue(Object?value)判斷Map是否含有值Value
10Set? keySet()將Map的主鍵放入Set中并返回
11Collection?values()將Map的值放入Collection中并返回
12Set>?entrySet()將Map中每對鍵值對轉(zhuǎn)換為鍵值對實體,并以Set的方式返回
Collection接口
Collection接口有三個比較常見的子接口:List、Set和Queue接口
2.1 List接口及其實現(xiàn)類
List接口有三個比較常見的實現(xiàn)類:LinkedList、ArrayList和Vector類。它們都按照元素的插入順序來保存元素。ArrayList:用數(shù)組實現(xiàn)的List——隨機存取效率高,增刪效率低 輕量級。線程不安全。
LinkedList:用雙向循環(huán)鏈表 實現(xiàn)的List——隨機存取效率低,增刪效率高。線程不安全。
Vector:用數(shù)組實現(xiàn)的List——重量級,占據(jù)更多的系統(tǒng)開銷。線程安全。
表2.1 List接口常用方法
編號方法原型解釋備注
1boolean?addAll(int?index,Collection extends E>?c)指定集合c的添加起始位為index
2E?get(int?index)獲取位置index對應(yīng)的元素
3E?set(int?index, E?element)設(shè)置位置index的元素
4void?add(int?index,E?element)將元素element添加到index
5E?remove(int?index)移除index上的元素
6int?indexOf(Object?o)得到元素o首次出現(xiàn)的位置
7int?lastIndexOf(Object?o)得到元素o最后出現(xiàn)的位置
8?subList(int?fromIndex, int?toIndex)得到列表從fromIndex到toIndex的子列表ArrayList
Class ArrayList:底層使用數(shù)組實現(xiàn)。相對于數(shù)組的優(yōu)點是自擴展長度,在元素個數(shù)超過本身所能存放的最大個數(shù)時能夠自動擴展自身的長度。public?ArrayList()、public?ArrayList(Collection extends E>?c)、public?ArrayList(int?initialCapacity):其中集合c是E子類的集合,用于在構(gòu)造過程中初始化ArrayList;initialCapacity則表示待初始化的ArrayList初始長度。
public?void?trimToSize():釋放列表的預(yù)留空間,使得列表所占空間盡量小。
public?void?ensureCapacity(int?minCapacity):設(shè)定列表的最小長度。當minCapacity小于列表元素個數(shù)時,列表長度以列表元素個數(shù)為準。
public?int?lastIndexOf(Object?o):返回元素o出現(xiàn)的最后一個位置序號
public?E?get(int?index)、public?E?set(int?index,E element):ArrayList的讀寫方法
protected?void?removeRange(int?fromIndex, int?toIndex):刪除序號在fromIndex-toIndex之間的元素
public?List?subList(int?fromIndex, int?toIndex):得到從fromIndex-toIndex之間的元素列表
LinkedList
1.
c. VectorMap接口
補充內(nèi)容
總結(jié)
以上是生活随笔為你收集整理的java接口与集合_【总结】Java常用集合接口与集合类的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是servlet?servlet的运
- 下一篇: oracle中的存储过程和存储函数的区别