根本就是两种方法。首先返回值不同,keySet返回值为Set<K>集合 ( 返回此映射中包含的键的 Set 视图)。
entrySet返回值为Set<Map.Entry<K,V>> (返回此映射中包含的映射关系的 Set 视图)。
范例:
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class Demo {
public static void main(String args[])
{
HashMap<String,String> hm=new HashMap<String,String>();
hm.put("NO1", "hello");
hm.put("NO2", "world");
Set<String> se=hm.keySet();
Iterator<String> ite=se.iterator();
while(ite.hasNext())
{
//只能输出key的值
System.out.println(ite.next());
}
Set<Map.Entry<String,String>> se2=hm.entrySet();
Iterator<Map.Entry<String,String>> ite2=se2.iterator();
while(ite2.hasNext())
{
//可以输出key和value的值
System.out.println(ite2.next());
}
}
}
运行一下你就可以体会到两种方法的不同处了。 |