HashMap hm = new HashMap();
hm.put(1, "阿里山的姑娘");
hm.put(2, "犯错");
hm.put(3, "我的未来不是梦");
Set entry = hm.entrySet();
用entry能使用Entry中的定义的方法? 如果能怎么访问?
hm.put(1, "阿里山的姑娘");
hm.put(2, "犯错");
hm.put(3, "我的未来不是梦");
Set entry = hm.entrySet();
用entry能使用Entry中的定义的方法? 如果能怎么访问?
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;public class TestEntry { public static void main(String[] args) {
HashMap<Integer, String> hm = new HashMap<Integer, String>();
hm.put(1, "阿里山的姑娘");
hm.put(2, "犯错");
hm.put(3, "我的未来不是梦");
Set<Map.Entry<Integer, String>> entrySet = hm.entrySet();
Iterator<Map.Entry<Integer, String>> iterator = entrySet.iterator();
while (iterator.hasNext()) {
Entry<Integer, String> entry = iterator.next();
System.out.println("Key:" + entry.getKey()
+ ", Value:" + entry.getValue() );
}
}
}
Map<Integer,String> map = new HashMap<Integer,String>();
hm.put(1, "阿里山的姑娘");
hm.put(2, "犯错");
hm.put(3, "我的未来不是梦");
Iterator<Entry<Integer,String>> iter = map.entrySet().iterator();
while(iter.hasNext()){
Map.Entry<Integer,String> entry = (Entry<Integer,String>) iter.next();
Object key=entry.getKey();
Object val = entry.getValue();
System.out.println(key+" "+val);
}
hm.put(1, "阿里山的姑娘");
hm.put(2, "犯错");
hm.put(3, "我的未来不是梦");
Iterator<Entry<Integer,String>> iter = hm.entrySet().iterator();
while(iter.hasNext()){
Map.Entry<Integer,String> entry = (Entry<Integer,String>) iter.next();
Object key=entry.getKey();
Object val = entry.getValue();
System.out.println(key+" "+val);
}
看JDK-API关于HashMap、Set、Entry的说明
entrySet
Set<Map.Entry<K,V>> entrySet()返回此映射中包含的映射关系的 Set 视图。该 set 受映射支持,所以对映射的更改可在此 set 中反映出来,反之亦然。如果对该 set 进行迭代的同时修改了映射(通过迭代器自己的 remove 操作,或者通过对迭代器返回的映射项执行 setValue 操作除外),则迭代结果是不确定的。set 支持元素移除,通过 Iterator.remove、Set.remove、removeAll、retainAll 和 clear 操作可从映射中移除相应的映射关系。它不支持 add 或 addAll 操作。 这是完全正确的代码!
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Set;
public class TestEntry
{ public static void main(String[] args)
{
Map<Integer,String> hm = new HashMap<Integer,String>();//这儿应注意泛型
hm.put(1, "阿里山的姑娘"); //调用了 Map的put()的方法
hm.put(2, "犯错");
hm.put(3, "我的未来不是梦");
//用迭代器 遍历这个集合
Iterator<Entry<Integer,String>> iter = hm.entrySet().iterator();
//判断是否遍历完
while(iter.hasNext())
{
//输出遍历后的结果
Map.Entry<Integer,String> entry = (Entry<Integer,String>) iter.next();
int key=entry.getKey();
String val = entry.getValue();
System.out.println(key+" "+val);
}
}
}