entrySet()方法会返回key-value实体对的集合,此集合的类型即为Map.Entry,遍历时可以直接使用Map.Entry接口中的getKey(),getValue()方法;
keySet()则返回的是key的集合,需要在使用get()方法从map中取数据。
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class MapTest {
public static void main(String[] args){
HashMap map = new HashMap();
map.put("huawei",9000);
map.put("vivo",6000);
map.put("oppo",3000);
//使用entrySet遍历,推荐,尤其是容量大时
Set> set = map.entrySet();
for (Map.Entry tmp : set){
System.out.println(tmp.getKey() + "价格是" + tmp.getValue().toString() + "元");
}
System.out.println("------------------------------------------");
//使用keySet遍历
Set keys = map.keySet();
for (String tmp : keys){
//从map中取数据
System.out.println(tmp + "价格是" + map.get(tmp) .toString() + "元");
}
System.out.println("------------------------------------------");
//使用Iterator遍历
//注意这个迭代器对象的类型是Map.Entry
Iterator> iterator = map.entrySet().iterator();
while (iterator.hasNext()){
Map.Entry tmp = iterator.next();
System.out.println(tmp.getKey() + "价格是" + tmp.getValue().toString() + "元");
}
System.out.println("------------------------------------------");
//注意这个迭代器对象的类型是String
Iterator keysIterator = map.keySet().iterator();
while (keysIterator.hasNext()){
String tmp = keysIterator.next();
System.out.println(tmp+ "价格是" + map.get(tmp).toString() + "元");
}
}
}
输出结果如下:
huawei价格是9000元 oppo价格是3000元 vivo价格是6000元 ------------------------------------------ huawei价格是9000元 oppo价格是3000元 vivo价格是6000元 ------------------------------------------ huawei价格是9000元 oppo价格是3000元 vivo价格是6000元 ------------------------------------------ huawei价格是9000元 oppo价格是3000元 vivo价格是6000元 Process finished with exit code 0



