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