常用數(shù)據(jù)結(jié)構(gòu)與算法set list map區(qū)別_第1頁(yè)
常用數(shù)據(jù)結(jié)構(gòu)與算法set list map區(qū)別_第2頁(yè)
常用數(shù)據(jù)結(jié)構(gòu)與算法set list map區(qū)別_第3頁(yè)
常用數(shù)據(jù)結(jié)構(gòu)與算法set list map區(qū)別_第4頁(yè)
常用數(shù)據(jù)結(jié)構(gòu)與算法set list map區(qū)別_第5頁(yè)
已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

javaSet(集數(shù)組是大小固定的,并且同一個(gè)數(shù)組只能存放類(lèi)型一樣的數(shù)據(jù)(基本類(lèi)型/引用類(lèi)型),而JAVA存儲(chǔ)和操作數(shù)目不固定的一組數(shù)據(jù)。所有的JAVAjava.utilJAVAjavaSet(集數(shù)組是大小固定的,并且同一個(gè)數(shù)組只能存放類(lèi)型一樣的數(shù)據(jù)(基本類(lèi)型/引用類(lèi)型),而JAVA存儲(chǔ)和操作數(shù)目不固定的一組數(shù)據(jù)。所有的JAVAjava.utilJAVA簡(jiǎn)單說(shuō)下集合和數(shù)組的區(qū)別:(參考文章:《ThinkingInAlgorithm》03.數(shù)據(jù)結(jié)構(gòu)之?dāng)?shù)組<spanstyle="font-family:MicrosoftYaHei;font-size:12px;">世間上本來(lái)沒(méi)有集合,(只有數(shù)組參考C有人想有可以自動(dòng)擴(kuò)展的數(shù)組,所以有了List有的人想有沒(méi)有重復(fù)的數(shù)組,所以有了set有人想有自動(dòng)排序的組數(shù),所以有了TreeSet,TreeList,Tree**一:數(shù)組聲明了它容納的元素的類(lèi)型,而集合不聲明。這是由于集合以object的ReadOnly</span>Java,array1array,lengtharrayarraysstaticequals():比較兩個(gè)arrayarrayfill():將值填入arraysort():用來(lái)對(duì)arraybinarySearch():在排好序的arraySystem.arraycopy():array那我們開(kāi)始討論java1.1CollectionCollection最基本的集合接口,聲明了適用于JAVA(只包括SetList)SetList都繼承了Conllection,Map那我們開(kāi)始討論java1.1CollectionCollection最基本的集合接口,聲明了適用于JAVA(只包括SetList)SetList都繼承了Conllection,Map[html]view<spanstyle="font-weight:normal;">booleanadd(Objecto)voidclear():booleanbooleancontains(Objecto):判斷集合中是否持有特定對(duì)象的引用Iterartoriterator()booleanremove(Objectintsize()Object[]素:返回一個(gè)Iteratoro):從集合中刪除一個(gè)對(duì)象的引用關(guān)于:Iterator()和toArray()Iterator[html]viewhashNext():判斷集合中元素是否遍歷完畢,如果沒(méi)有,就返回truenext():返回下一個(gè)元素TreeSet:TreeSetSortedSetSetSetSet具有與CollectionList實(shí)際上SetCollection,只是行為不同。(這是繼承與多態(tài)思想的典型應(yīng)用:表現(xiàn)不同的行為。Set:存入SetTreeSet:TreeSetSortedSetSetSetSet具有與CollectionList實(shí)際上SetCollection,只是行為不同。(這是繼承與多態(tài)思想的典型應(yīng)用:表現(xiàn)不同的行為。Set:存入SetSetSetequals()方法以確保對(duì)象的唯一性。SetCollectionSetHashSet:為快速查找設(shè)計(jì)的Set。存入HashSethashCode()TreeSet:保存次序的Set,底層為樹(shù)結(jié)構(gòu)。使用它可以從SetLinkedHashSet:具有HashSet迭代器遍歷SetListList:(參考文章:ArrayListLinkedListArrayList()ArrayList()中插入LinkedList():對(duì)于ListList的get(intindex)方法放回集合中由參數(shù)index“0”1:forgetfor(inti=0;使用迭代器for(inti=0;使用迭代器IteratorList實(shí)際上有兩種List:一種是基本的ArrayList,LinkedList,List:次序是ListListCollection多方法,使得能夠向ListLinkedListList成ListIterator,使用它可以從兩個(gè)方向遍歷List,也可以從ListArrayList:由數(shù)組實(shí)現(xiàn)的List。允許對(duì)元素進(jìn)行快速隨機(jī)訪(fǎng)問(wèn),但是向List元素的速度很慢。ListIteratorArrayList,而不是用來(lái)插入和移除元素。因?yàn)槟潜萀inkedListLinkedListList對(duì)較慢。(使用ArrayList:addFirst(),addLast(),getFirst(),getLast(),removeFirst()removeLast(),得LinkedList1.4MapMap是一種把鍵對(duì)象和值對(duì)象映射的集合,它的每一個(gè)元素都包含一對(duì)鍵對(duì)象和值對(duì)象。Map繼承于CollectionMapMap1[html]viewObjectput(Objectkey,Objectvalue):Objectremove(Objectkey):刪除與KEYvoidputAll(Map[html]viewObjectput(Objectkey,Objectvalue):Objectremove(Objectkey):刪除與KEYvoidputAll(Mapvoidclear():2Objectget(Objectkey):獲得與關(guān)鍵字keyMap說(shuō),任意兩個(gè)鍵對(duì)象通過(guò)equals()方法比較的結(jié)果都是false.,方法put(Objectkey,Objectvalue)containsKey()和containsValue()測(cè)試MapJava了幾種不同的Map:HashMap,TreeMap,LinkedHashMap,WeakHashMap,IdentityHashMap執(zhí)行效率是Mapget()ArrayList過(guò)將該對(duì)象的某些信息進(jìn)行轉(zhuǎn)換而生成的。所有JavahashCode()基類(lèi)Object設(shè)置容量capacityloadfactor,類(lèi)似于TreeMap由ComparabelComparatorTreeMapTreeMapsubMap()方法的Map,WeakHashMao:弱鍵(weakkey)Map,Map設(shè)計(jì)的。如果沒(méi)有mapIdentifyHashMap::使用==代替equals()對(duì)“鍵”作比較的hashmap1.4TreeMap由ComparabelComparatorTreeMapTreeMapsubMap()方法的Map,WeakHashMao:弱鍵(weakkey)Map,Map設(shè)計(jì)的。如果沒(méi)有mapIdentifyHashMap::使用==代替equals()對(duì)“鍵”作比較的hashmap1.41.4.1、CollectionMapCollectionMapkey-valuepair,--List:--ArrayList/LinkedList/--Set--HashSet/------List,Set,MapObjectCollection、List、Set、Map繼承自它們的ArrayList,Vector,HashTable,HashMapclass,vectorvector如果涉及到堆棧,隊(duì)列等操作,應(yīng)該考慮用List,對(duì)于需要快速插入,刪除元素,應(yīng)該使用LinkedList,如果需要快速隨機(jī)訪(fǎng)問(wèn)元素,應(yīng)該使用ArrayList。在除需要排序時(shí)使用TreeSet,TreeMapHashSet,HashMap,要特別注意對(duì)哈希表的操作,作為keyequalshashCode容器類(lèi)僅能持有對(duì)象引用(指向?qū)ο蟮闹羔槪?,而不是將?duì)象信息copy盡量返回接口而非實(shí)際的類(lèi)型,如返回ListArrayList,這樣如果以后需要將ArrayListLinkedList容器類(lèi)僅能持有對(duì)象引用(指向?qū)ο蟮闹羔槪皇菍?duì)象信息copy盡量返回接口而非實(shí)際的類(lèi)型,如返回ListArrayList,這樣如果以后需要將ArrayListLinkedList1、Collectionget()方法來(lái)取得某個(gè)元素。只能通過(guò)iterator()2、SetCollection3、List,可以通過(guò)get()方法來(lái)一次取出一個(gè)元素。使用數(shù)字來(lái)選擇一堆對(duì)象中的一個(gè),get(0)...4、一般使用ArrayList。用LinkedListstack、隊(duì)列queue5、Mapput(k,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論