day01面向?qū)ο箅A段一繼承java進(jìn)階第9天集合map可變參數(shù)collectionsv_第1頁
day01面向?qū)ο箅A段一繼承java進(jìn)階第9天集合map可變參數(shù)collectionsv_第2頁
day01面向?qū)ο箅A段一繼承java進(jìn)階第9天集合map可變參數(shù)collectionsv_第3頁
day01面向?qū)ο箅A段一繼承java進(jìn)階第9天集合map可變參數(shù)collectionsv_第4頁
day01面向?qū)ο箅A段一繼承java進(jìn)階第9天集合map可變參數(shù)collectionsv_第5頁
已閱讀5頁,還剩18頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

9今日學(xué)習(xí)內(nèi)Map今日學(xué)習(xí)目MapMapMapMap能夠使用 能夠使用HashMap編 主洗牌發(fā)牌案第1章Map接口概Map我們通過查看Map接口描述,發(fā)現(xiàn)Map接口下的集合與Collection接口下的集合,它們數(shù)元素的方式。Map以找對(duì)所對(duì)應(yīng)的值。MapMapMapHashMapLinkedHashMaphashCode()方法、equals()方法。LinkedHashMap<K,V>:HshMap下有子類LinkedHashMap,數(shù)據(jù)采用的哈希表結(jié)構(gòu)鏈表結(jié)構(gòu)。通過鏈表結(jié)構(gòu)可以保證元素的存取順序一致;通過哈希表結(jié)構(gòu)可以保證的鍵的hashCode()equals(注意Map<K,型。兩個(gè)泛型變量<K,VMap使用put(key)null,put方法時(shí),若指定的鍵(key)在集合中存在,則返回值為集合中鍵對(duì)應(yīng)的值(該publicpublicclassMapDemopublicstaticvoidmain(String[]args)Map<String,String>map=newmap.put("星期一map.put("星期日System.out.println(map)星期日=Sunday星期一System.out.println(map.put("星期一"Mon"))MondaySystem.out.println(map);//{星期日=Sunday,星期一=Mon}////根據(jù)指定的key獲取對(duì)應(yīng)的valueStringen=map.get("星期日");System.out.println(en)SundayStringvalue=map.remove("星期日");System.out.println(value);//SundaySystem.out.println(map)星期一}}Map獲取Map集合中所有的鍵,由于鍵是唯一的,所以返回一個(gè)Set集合所有的SetpublicpublicclassMapDemopublicstaticvoidmain(String[]args)Map<String,String>map=new ", ",", Set<String>keySet=IItor<String>it Stringkey=//通過key獲取對(duì)應(yīng)的valueStringvaluemap.get(key);}}}Entry鍵值對(duì)對(duì)象(補(bǔ)充一下內(nèi)部類和內(nèi)部接口Map類設(shè)計(jì)時(shí),提供了一個(gè)嵌套接口:Entry。Entry將鍵值對(duì)的對(duì)應(yīng)關(guān)系封裝成了對(duì)象。即鍵EntryMapMapMap集合中,所有的鍵值對(duì)(Entry)Set遍歷包含鍵值對(duì)(Entry)Set集合,得到每一個(gè)鍵值對(duì)(Entry)通過鍵值對(duì)(Entry)EntrypublicpublicclassMapDemopublicstaticvoidmain(String[]args)Map<String,String>map=new ", ",", Set<Map.Entry<String,String>>entrySet=IItor<Map.Entry<String,String>>itMap.Entry<String,String>entry=Stringkey=entry.getKey();//通過每一對(duì)對(duì)應(yīng)關(guān)系獲取對(duì)應(yīng)的valueStringvalueentry.getValue();}}}注意:MapforeachSetHashMap自定義類型鍵練習(xí)1:使用map:鍵為學(xué)號(hào),值為一個(gè)學(xué)生的對(duì)象,學(xué)生對(duì)象有屬性(,關(guān)系,則將學(xué)生對(duì)象和到map集合中。學(xué)生作為鍵,作為值。注意,學(xué)生相同并且相同視為同一名學(xué)生publicclasspublicclassStudent{privateStringname;privateintage;}publicclassHashMapTestpublicstaticvoidmain(String[]args)Map<Student,String>map=newmap.put(newStudent("lisi",28), map.put(newStudent("wangwu",22), map.put(newStudent("zhaoliu",24), map.put(newStudent("zhouqi",25)廣州map.put(newStudent("wangwu",22), Set<Student>keySet=for(Studentkey:Stringvalue= }Set<Map.Entry<Student,String>>entrySet=for(Map.Entry<Student,String>entry:entrySet)Studentkey=Stringvalue= }}}}hashCodeequalsHashSet在HashMap下面有一個(gè)子類LinkedHashMap,它是鏈表和哈希表組合的一個(gè)數(shù)據(jù)結(jié)構(gòu)publicpublicclassLinkedHashMapDmeopublicstaticvoidmain(String[]args)LinkedHashMap<String,String>map=new ", ",", Set<Entry<String,String>>entrySet=for(Entry<String,String>entry:entrySet)System.out.println(entry.getKey()+"}}}結(jié)果Properties1、Hashtable的子類,map2U盤、光盤)4,load(InputStream)把指定流所對(duì)應(yīng)的文件中的數(shù)據(jù)出來,保存到Propertie集合, commonts publicpublicObjectsetProperty(StringkeyStringvalue)HashtableputpublicStringgetProperty(Stringkey)publicSet<StringstringPropertyNames()**publicObjectsetProperty(StringkeyStringvalue)HashtableputpublicSet<StringstringPropertyNames()publicStringgetProperty(Stringkey)publicclassPropertiesDemo01publicstaticvoidmain(String[]args)Propertiesprop=new//prop.put(key, ", ", ", Set<String>keys=for(Stringkey:keys)//StringStringvalue=prop.getProperty(key);System.out.println(key+"=="+value);}}}1.10文件中的數(shù)據(jù),并保存到集perties中取出數(shù)據(jù),保存到集合中123,把流所對(duì)應(yīng)文件中的數(shù)據(jù)到集合 把指定流所對(duì)應(yīng)的文件中的數(shù)據(jù),出來,保存到Propertie集合publicpublicclassPropertiesDemo03publicstaticvoidmain(String[]args)throwsIOExceptionPropertiesprop=newFileReaderin=new}}JDK1.5之后,如果我們定義一個(gè)方法需要接受多個(gè)參數(shù),并且多個(gè)參數(shù)類型一致,我們可以(參數(shù)類型形參名){}(參數(shù)類型形參名){}jdk1.5以后。出現(xiàn)了簡(jiǎn)化操作。...中,在進(jìn)行傳遞。這些動(dòng)作都在編譯.class文件時(shí),自動(dòng)完成了。publicpublicclassParamDemopublicstaticvoidmain(String[]args)int[]arr={21,89,32};intsum=add(arr);sumadd(21,89,32);//}publicpublicstaticintintsum=for(inti=0;i<arr.length;i++){sum+=arr[i];}return}publicstaticintadd(int[]arr){intsum=0;for(inti=0;i<arr.length;i++){sum+=arr[i];}return}}2Collections集合工具類(Map嵌套Collectionspublicstatic<T>voidsort(List<T>list)////list[33,11,77,55]Collections.sort(list);//listpublicstaticvoidshuffle(List<?>list) 集合元素位置打//list//list集合元素[11,33,55,77]Collections.shufflelist 的元素位第2章模擬主洗牌發(fā)按照主的規(guī)則,完成洗牌發(fā)牌的動(dòng)作組裝54張5417手中牌從大到小的擺放順序:大王,使列Map(HashMap)集合,完成一個(gè)數(shù)字與字符串紙牌的對(duì)應(yīng)關(guān)系(相當(dāng)于一個(gè)字典)ArrayList<String>,3存放的過程中要求數(shù)字大小與主規(guī)則的大小對(duì)應(yīng)。MapjavaGBKUTF-8GBK沒有我們要的梅importimportimportimport*publicclassPokerpublicstaticvoidmain(String[]args)ArrayList<String>color=newArrayList<String>();ArrayList<String>number=newHashMap<Integer,String>map=newHashMap<Integer,intindex=map.put(index++小map.put(index++大for(StringthisNumber:number)for(StringthisColor:color)map.put(index++,}}//54ArrayList0-53ArrayList<Integer>cards=newfor(inti=0;i<=53;i++)}ArrayList<Integer> yer=newArrayList<Integer> yer2=newArrayList<Integer> yer3=newArrayList<Integer>itCards=newfor(inti=0;i<cards.size();i++)if(i>=51)}elseif(

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論