欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

Java中遍历Map的方法:entrySet,和keySet

时间:2023-06-09

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

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。