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裡面的值。