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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

溫馨提示

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

最新文檔

評論

0/150

提交評論