




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(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我們通過(guò)查看Map接口描述,發(fā)現(xiàn)Map接口下的集合與Collection接口下的集合,它們數(shù)元素的方式。Map以找對(duì)所對(duì)應(yīng)的值。MapMapMapHashMapLinkedHashMaphashCode()方法、equals()方法。LinkedHashMap<K,V>:HshMap下有子類(lèi)LinkedHashMap,數(shù)據(jù)采用的哈希表結(jié)構(gòu)鏈表結(jié)構(gòu)。通過(guò)鏈表結(jié)構(gòu)可以保證元素的存取順序一致;通過(guò)哈希表結(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=//通過(guò)key獲取對(duì)應(yīng)的valueStringvaluemap.get(key);}}}Entry鍵值對(duì)對(duì)象(補(bǔ)充一下內(nèi)部類(lèi)和內(nèi)部接口Map類(lèi)設(shè)計(jì)時(shí),提供了一個(gè)嵌套接口:Entry。Entry將鍵值對(duì)的對(duì)應(yīng)關(guān)系封裝成了對(duì)象。即鍵EntryMapMapMap集合中,所有的鍵值對(duì)(Entry)Set遍歷包含鍵值對(duì)(Entry)Set集合,得到每一個(gè)鍵值對(duì)(Entry)通過(guò)鍵值對(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();//通過(guò)每一對(duì)對(duì)應(yīng)關(guān)系獲取對(duì)應(yīng)的valueStringvalueentry.getValue();}}}注意:MapforeachSetHashMap自定義類(lèi)型鍵練習(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è)子類(lèi)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的子類(lèi),map2U盤(pán)、光盤(pán))4,load(InputStream)把指定流所對(duì)應(yīng)的文件中的數(shù)據(jù)出來(lái),保存到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ù),出來(lái),保存到Propertie集合publicpublicclassPropertiesDemo03publicstaticvoidmain(String[]args)throwsIOExceptionPropertiesprop=newFileReaderin=new}}JDK1.5之后,如果我們定義一個(gè)方法需要接受多個(gè)參數(shù),并且多個(gè)參數(shù)類(lèi)型一致,我們可以(參數(shù)類(lèi)型形參名){}(參數(shù)類(lèi)型形參名){}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集合工具類(lèi)(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存放的過(guò)程中要求數(shù)字大小與主規(guī)則的大小對(duì)應(yīng)。MapjavaGBKUTF-8GBK沒(méi)有我們要的梅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. 本站所有資源如無(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 【正版授權(quán)】 ISO/TR 21734-3:2024 EN Intelligent transport systems - Performance testing for connectivity and safety functions of automated driving buses in public transport - Part 3: Ser
- 【正版授權(quán)】 ISO 20553:2025 EN Radiation protection - Monitoring of workers occupationally exposed to a risk of internal contamination with radioactive material
- 2025年度拆遷安置房預(yù)售合同范本(2025版)
- 2025年生物科技產(chǎn)品采購(gòu)合同范本模板
- 2025年度餐廳窗口承包及廣告投放合同
- 2025年度二手商鋪貸款買(mǎi)賣(mài)雙方合作協(xié)議
- 2025年度海洋工程擔(dān)保型買(mǎi)賣(mài)合同
- 2025年低噪聲對(duì)旋式局部通風(fēng)機(jī)項(xiàng)目建議書(shū)
- 保安工作在社區(qū)安全提升中的實(shí)例計(jì)劃
- 促進(jìn)社區(qū)志愿服務(wù)團(tuán)隊(duì)建設(shè)的方案計(jì)劃
- 節(jié)事活動(dòng)策劃與組織管理 節(jié)事活動(dòng)概論
- 電梯安裝質(zhì)量手冊(cè)、程序文件、作業(yè)指導(dǎo)書(shū)及記錄表符合特種設(shè)備許可規(guī)范TSG07-2019
- 肋骨骨折病人的業(yè)務(wù)學(xué)習(xí)
- 生產(chǎn)建設(shè)項(xiàng)目水土保持補(bǔ)償費(fèi)免征申請(qǐng)表
- 全過(guò)程工程咨詢(xún)服務(wù)大綱
- 日本酒類(lèi)消費(fèi)行業(yè)市場(chǎng)分析報(bào)告
- GB/T 4151-1996硝酸鈰
- GB/T 31586.2-2015防護(hù)涂料體系對(duì)鋼結(jié)構(gòu)的防腐蝕保護(hù)涂層附著力/內(nèi)聚力(破壞強(qiáng)度)的評(píng)定和驗(yàn)收準(zhǔn)則第2部分:劃格試驗(yàn)和劃叉試驗(yàn)
- GB/T 29594-2013可再分散性乳膠粉
- 危房鑒定報(bào)告
- 西子奧的斯電梯ACD2調(diào)試說(shuō)明書(shū)
評(píng)論
0/150
提交評(píng)論