總結(jié)
- 數(shù)組將數(shù)字與對(duì)象聯(lián)系起來:它保存類型明確的對(duì)象躲查,查詢對(duì)象時(shí),不需要對(duì)結(jié)果做類型轉(zhuǎn)換坤邪;它可以時(shí)多維的熙含,可以保存基本類型的數(shù)據(jù);但是艇纺,數(shù)組一旦生成怎静,其容量不能改變
- Collection保存單一的元素,而Map保存關(guān)聯(lián)的鍵值對(duì):有了Java泛型黔衡,你就可以指定容器中存放的對(duì)象類型蚓聘,因此你就不會(huì)將錯(cuò)誤類型的對(duì)象放置到容器中,并且在從容器中獲取元素時(shí)盟劫,不必進(jìn)行類型轉(zhuǎn)換夜牡;各種-
Collection和Map都可以在你向其中添加更多的元素時(shí),自動(dòng)調(diào)整其尺寸侣签;容器不能持有基本類型塘装,但是自動(dòng)包裝機(jī)制會(huì)仔細(xì)地執(zhí)行基本類型到容器中所持有包裝器類型之間的雙向裝換 - 像數(shù)組一樣,List也建立數(shù)字索引與對(duì)象的關(guān)聯(lián)影所,因此蹦肴,數(shù)組和List都是排好序的容器;List能夠自動(dòng)擴(kuò)充容量
- 如果要進(jìn)行大量的隨機(jī)訪問猴娩,就使用ArrayList阴幌;如果要經(jīng)常從表中間插入或刪除元素,則應(yīng)該使用LinkedList
- 各種Queue以及棧的行為卷中,由LinkedList提供支持
- Map是一種將對(duì)象(而非數(shù)字)與對(duì)象相關(guān)聯(lián)的設(shè)計(jì):HashMap設(shè)計(jì)用來快速訪問矛双;TreeMap保持“鍵”始終處于排序狀態(tài),所以沒有HashMap快蟆豫;LinkedHashMap保持元素插入的順序议忽,但是也通過散列提供了快速訪問能力
- Set不接受重復(fù)元素:HashSet提供了最快的查詢速度;TreeSet保持元素處于排序狀態(tài)十减;LinkedHashSet以插入順序保存元素
- 新程序中不應(yīng)該使用過時(shí)的Vector徙瓶,Hashtable和Stack
image.png