1. 程式人生 > >java中獲取map的鍵值對方法

java中獲取map的鍵值對方法

1、我們知道假設在java中的map,我們知道某一個鍵時,我們很容易通過鍵找到對應的值,這個是map中最常用的。

比如:

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

map.put("11","北京");

map.put("22","湖南");

我們只需要通過map.get("11")的方法就可以獲取11對應的值為北京,22對應的值為湖南。這是我們用map中最常用的方法。

2、現在假設我們根本不知道鍵的情況下,怎麼獲取鍵值對呢?

Map<Integer,String> map=new HashMap<Integer,String>();
  map.put(42, "湖南");
  map.put(11, "北京");
  Set<Entry<Integer, String>> set=map.entrySet();
  Iterator<Entry<Integer, String>> iterator=set.iterator();
  while(iterator.hasNext()){
   Map.Entry mapEntry=(Map.Entry)iterator.next();
   System.out.println(mapEntry.getKey()+"--------"+mapEntry.getValue());
  }

這就是我們的方法。

Map類提供了一個稱為entrySet()的方法,這個方法返回一個Map.Entry例項化後的物件集。接著,Map.Entry類提供了一個getKey()方法和一個getValue()方法,因此,上面的程式碼可以被組織得更符合邏輯。

儘管增加了一行程式碼,我們卻省略了許多對Map不必要的“get”呼叫。同時,提供給開發人員一個同時保持了關鍵字和其對應的值的類。Map.Entry同時也提供了一個setValue()方法,程式設計師可以使用它修改map裡面的值