java基礎(chǔ)--容器 List菩鲜、ArrayList、LinkList
1.容器的總體框架
詳細(xì)的貼一張大佬的圖 惦积,有點(diǎn)錯的地方就是Map那個分支是單獨(dú)的接校,和Collection接口沒有任何關(guān)聯(lián)。原文地址
2.容器簡述
容器簡單點(diǎn)可以說就是一個桶狮崩,你可以往桶里放東西蛛勉、拿東西、查看數(shù)據(jù)
不同的桶放不一樣的東西
對桶的操作依據(jù)容器的種類不同而定睦柴。
3.容器的常用方法
<font size="40">Map</gont>
Map接口的實(shí)現(xiàn)類有HashMap,TreeMap,HashTable,WeakHashMap,IdentityHashMap
方法功能
Object put(Object key,Object value)存放鍵值對
Object get(Object key)通過鍵對象查找得到值對象
Object remove(Object key)刪除鍵對象對應(yīng)的鍵值對
boolean containsKey(Object key)Map容器中是否包含鍵對象對應(yīng)的鍵值對
boolean containsValue(Object value)Map容器中是否包含值對象對應(yīng)的鍵值對
int size()包含鍵值對的數(shù)量
boolean isEmpty()Map是否為空
void putAll(Map t)將t的所用=有鍵值對存放到本map對象
void clear()清空本map對象所有鍵值對
Map的全部方法
<font size="40">List</gont>
List接口的實(shí)現(xiàn)類有ArrayList,LinkedList,Stack
方法功能
boolean add(E o)向列表尾部追加指定的元素
void add(int index,E element)在指定位置插入元素
void clear()清除
E get(int idex)返回指定位置的元素
Object toAllay返回以正確順序包含列表中所以元素的數(shù)組
int size()返回元素個數(shù)
int indexOf(Objext o)返回列表中首次出現(xiàn)元素的位置
E set(int index,E element)替換指定位置的元素
boolean addAll(index,Coolection<>c)指定位置插入集合全部元素
ListIterator<E>listIterator()返回一個迭代器
List<E>subList(int fromIndex,int toIndex)返回范圍內(nèi)的元素诽凌,包左不包右
int lastIndexOf(Objext o)返回列表中元素最后出現(xiàn)的位置
!
<font size="40">Set</gont>
set的差不多,下面的是所以方法
4.容器的深入
容器的實(shí)現(xiàn)類所對應(yīng)的繼承的抽象類和接口之間的關(guān)系有點(diǎn)錯綜復(fù)雜爱只,主要可以重List,Set,Map三個入手招刹。List和Set都實(shí)現(xiàn)Collection接口恬试,而Collection實(shí)現(xiàn)了Iterable,而Map和這些都不同,它屬于單獨(dú)開來的一個疯暑。
容器的那些實(shí)現(xiàn)類都是在這三個接口上進(jìn)行擴(kuò)展训柴,去實(shí)現(xiàn)自己的特有方法,形成不同種特性的桶妇拯。
特性
ArrayList? ? 數(shù)組實(shí)現(xiàn)幻馁,插入刪除代價大
Vector? ? 也是數(shù)組實(shí)現(xiàn),但是自持同步
LinkedList? ? 鏈表越锈,動態(tài)插入
HashSet 使用Hash算法來存儲元素
SortedSet->TreeSet 確保處于有序
HashMap 雙向鏈表來維護(hù)key-value的次序
還有一個數(shù)Queue隊(duì)列,用的比較少
容器一個很不錯的地方就是可以放對象,還有就是鍵值對.