1. 程式人生 > 其它 >集合框架-Map重點方法entrySet演示

集合框架-Map重點方法entrySet演示

 1 package cn.itcast.p6.map.demo;
 2 
 3 import java.util.HashMap;
 4 import java.util.Iterator;
 5 import java.util.Map;
 6 import java.util.Set;
 7 
 8 public class MapDemo {
 9     public static void main(String[] args) {
10         Map<Integer,String> map = new HashMap<Integer, String>();
11 // method(map); 12 method_3(map); 13 } 14 public static void method_3(Map<Integer, String> map) { 15 map.put(8, "wangwu"); 16 map.put(2, "zhaoliu"); 17 map.put(7, "xiaoqiang"); 18 map.put(6, "wangcai"); 19 20 21 /*
22 * 通過Map轉成set就可以迭代。 23 * 找到了另一個方法。entrySet。 24 * 該方法將鍵和值的對映關係作為物件儲存到了Set集合中,而這個對映關係的型別就是Map.Entry型別 25 * 26 */ 27 Set<Map.Entry<Integer, String>> entrySet = map.entrySet(); 28 29 Iterator<Map.Entry<Integer, String>> it = entrySet.iterator();
30 31 while(it.hasNext()) { 32 Map.Entry<Integer, String> me = it.next(); 33 Integer key = me.getKey(); 34 String value = me.getValue(); 35 System.out.println(key+"::::"+value); 36 } 37 38 } 39 40 interface MyMap{ 41 public static interface MyEntry{//內部介面 類似於Map.Entry 42 void get(); 43 } 44 } 45 class MyDemo implements MyMap.MyEntry{ 46 public void get() { 47 48 } 49 } 50 class Outer{ 51 static class Inner{ 52 static void show() { 53 54 } 55 } 56 } 57 public static void method_2(Map<Integer, String> map) { 58 map.put(8, "wangwu"); 59 map.put(2, "zhaoliu"); 60 map.put(7, "xiaoqiang"); 61 map.put(6, "wangcai"); 62 63 //取出map中的所有元素。 64 //原理,獲取keySet方法獲取map中所有的鍵所在的Set集合,再通過Set的迭代器獲取到每一個鍵 65 //再對每一個鍵通過map集合的get方法獲取其對應的值即可。 66 67 Set<Integer> keySet = map.keySet(); 68 69 Iterator<Integer> it = keySet.iterator(); 70 71 while(it.hasNext()) { 72 Integer key = it.next(); 73 String value = map.get(key); 74 System.out.println(key+":"+value); 75 } 76 } 77 public static void method(Map<Integer,String> map) {//學號和姓名 78 //新增元素 79 80 System.out.println(map.put(8, "wangcai"));//null 81 System.out.println(map.put(8, "xiaoqiang"));//wangcai 存相同鍵值會覆蓋 82 map.put(2, "zhangsan"); 83 map.put(7, "zhaoliu"); 84 85 //刪除。 86 System.out.println("remove:"+map.remove(2));//remove:zhangsan 87 System.out.println(map);//{7=zhaoliu, 8=xiaoqiang} 88 89 //判斷。 90 System.out.println("containskey:"+map.get(8));//containskey:xiaoqiang 91 92 //獲取。 93 System.out.println("get:"+map.get(6));//get:null 94 System.out.println(map); 95 96 97 } 98 }
MapDemo