8.13Java入門--->第十九節(Map巢狀)
阿新 • • 發佈:2020-08-13
1、Map
儲存鍵值對,對映關係集合
KEY不可以重複,Key重複覆蓋原先的值
map的遍歷,Set set= map.entrySet,遍歷set,一個entry儲存一組鍵值對
Set set= map.keySet,遍歷set ,map.get(key)
map.containKey、map.containValue(map是否包含當前值,或當前Value)
LinkedHashMap:儲存有序
Hash Map:無序()
properties :操作屬性檔案,Mybatis ->db.properties
TreeMap:排序,和TreeSet一樣的
map巢狀,迴圈輸出
packagecom.xian; import java.util.ArrayList; import java.util.HashMap; import java.util.Map; public class Test81304 { public static void main(String[] args) { Map city=new HashMap(); Map spaceShangHai=new HashMap(); spaceShangHai.put("普陀區","伊敏路"); spaceShangHai.put("閔行區","南京東路"); spaceShangHai.put("松江區","幸福里路"); spaceShangHai.put("浦東區","赤峰路"); Map spaceBeijing=new HashMap(); spaceBeijing.put("大興區","機場"); spaceBeijing.put("昌平區","火車站"); spaceBeijing.put("朝陽區","新發地"); spaceBeijing.put("燕山區","大學城"); city.put("北京",spaceBeijing); city.put("上海",spaceShangHai); Entry(city); } public static void Entry(Map<String,Map<String,String>> mp3) { for (Object o:mp3.entrySet()) { Map.Entry<String,Map<String,String>> mp1= (Map.Entry<String, Map<String, String>>) o; String s=mp1.getKey(); Map mp2=mp1.getValue(); for (Object o1:mp2.entrySet()) { Map.Entry<String, String> mp4 = (Map.Entry<String, String>) o1; String s1=mp4.getKey(); String s2=mp4.getValue(); System.out.println(s+"市 "+s1+" "+s2); } } } }
第一層,一個Key對應一個map,提取出key,和對應的map
第二層,解析上一層對應的map
輸出:第一層對應的Key,第二層對應的Key,第二層的Value
每次解析一個,迴圈結束為止,多層巢狀同理
上海市 閔行區 南京東路
上海市 浦東區 赤峰路
上海市 松江區 幸福里路
上海市 普陀區 伊敏路
北京市 朝陽區 新發地
北京市 大興區 機場
北京市 燕山區 大學城
北京市 昌平區 火車站
堆溢位、棧溢位完全是兩個東西