第十一章 持有對(duì)象

11.2基本概念

java容器類基本用途保存對(duì)象,劃分兩個(gè)概念

  • 1)Collection:存放一組對(duì)象的方式
  • 2)Map:有映射關(guān)系的數(shù)據(jù)

11.2添加元素

使用Arrays.asList() 生成的數(shù)組是不能進(jìn)行add和delete的,因?yàn)樗讓邮遣捎脭?shù)組存儲(chǔ),大小是固定了.

容器類型?。?br> ArrayList
LinkedList
HashSet(hash算法)
TreeSet(二叉排序樹(shù)按照結(jié)果的生序排序)
LinkedHashSet
HashMap
TreeMap
LinkedHashMap

List比較  ArrayList 數(shù)據(jù)查找比較方便,但是中間插入,刪除的代價(jià)會(huì)比較高,涉及到需要移動(dòng)數(shù)據(jù).
LinkedList 中間插入數(shù)據(jù),和刪除 非常廉價(jià).而且具有棧的方法.新代碼中stack可以用LinkedList代替
迭代器:
Iterator
ListIteretor (只能用于List 可以雙向滑動(dòng))
PriorityQueue優(yōu)先級(jí)隊(duì)列.

總結(jié):
1.如果要大量的隨機(jī)訪問(wèn)使用ArrayList,如果要經(jīng)常向表中間插入或刪除元素用LinkedList
2.需要使用各種Queue以及棧的行為,使用LinkedList
3.hashMap設(shè)計(jì)快速訪問(wèn),treeMap保持鍵值處于排序狀態(tài),LinkedHashMap保持按元素插入的順序
4.set :hashSet 快速訪問(wèn),treeSet排序,LinkedHashSet 插入順序
5.新程序中不要使用過(guò)時(shí)的vector,hashtable,stack

通過(guò)迭代器模式,能更好的看懂java.util 容器包


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容