1. 程式人生 > >Map集合——(1) 常用方法與MapSet

Map集合——(1) 常用方法與MapSet

  1. package cn.itcast.p6.map.demo;

  2. import java.util.Collection;

  3. import java.util.HashMap;

  4. import java.util.Iterator;

  5. import java.util.Map;

  6. import java.util.Set;

  7. public class MapDemo {

  8. public static void main(String[] args) {

  9. Map<Integer,String> map = new HashMap<Integer,String>();

  10. method(map);

  11. }

  12. }

  13. public static void method(Map<Integer,String> map){//學號和姓名

  14. // 新增元素。

  15. System.out.println(map.put(8, "wangcai"));//null

  16. System.out.println(map.put(8, "xiaoqiang"));//wangcai 存相同鍵,值會覆蓋

  17. //會返回被覆蓋的鍵的值。

  18. map.put(2,"zhangsan");

  19. map.put(7,"zhaoliu");

  20. //刪除。

  21. System.out.println("remove:"+map.remove(2)); //會返回被刪除的鍵的值

  22. //判斷。

  23. System.out.println("containskey:"+map.containsKey(7));//返回boolean類值

  24. //true 或者false

  25. //獲取。

  26. System.out.println("get:"+map.get(6));//返回指定鍵對應的值,若該鍵

  27. //不存在則返回null

  28. System.out.println(map); //列印輸出所有map中的元素

  29. }

  30. }

二、KeySet( )

因為Map集合沒有Iterator() 迭代器,所以使用keyset() 方法建立Set集合,再通過迭代器獲取鍵,再通過鍵獲取值。

  1. //取出map中的所有元素。

  2. //原理,通過keySet方法獲取map中所有的鍵所在的Set集合,在通過Set的迭代器獲取到每一個鍵,

  3. //在對每一個鍵通過map集合的get方法獲取其對應的值即可。

  4. Set<Integer> keySet = map.keySet();

  5. Iterator<Integer> it = keySet.iterator();

  6. while(it.hasNext()){

  7. Integer key = it.next();

  8. String value = map.get(key);

  9. System.out.println(key+":"+value);

  10. }

 entrySet:

       通過Map轉成set就可以迭代。        找到了另一個方法。entrySet。        該方法將鍵和值的對映關係作為物件儲存到了Set集合中,而這個對映關係的型別就是Map.Entry型別(結婚證)

  1. Set<Map.Entry<Integer, String>> entrySet = map.entrySet();

  2. Iterator<Map.Entry<Integer, String>> it = entrySet.iterator();

  3. while(it.hasNext()){

  4. Map.Entry<Integer, String> me = it.next();

  5. Integer key = me.getKey();

  6. String value = me.getValue();

  7. System.out.println(key+"::::"+value);

  8. }

  1. Collection<String> values = map.values();

  2. Iterator<String> it2 = values.iterator();

  3. while(it2.hasNext()){

  4. System.out.println(it2.next());