在Java软件开发工作中,最常用到的两个集合就是List和Map了,虽然在面试的时候你经常问道ArrayList和LinkedList的区别,HashMap和Hashtable的区别,如果想面试成功你也必须说出来一两点,但是我还真没有用过LinkedList和Hashtable(可能真的是我工作任务的限制吧)。但是不管怎么说,List和Map都是最常用的,作为一个技术人员,你必须要明白,深刻理解其中的两到三种方法,也要明白他们的使用场景。好吧,废话不多说,开始我们今天的经验分享吧!
现在开始进入今天的正题,使用Java代码遍历Map集合的方法汇总。
1、创建一个Java类,命名为MapTest
2、创建一个Map集合,并定义类型和put值:
public static void main(String[] args) {HashMap<Integer, String> map = new HashMap<Integer, String>();
map.put(1, "李逍遥");
map.put(2, "赵灵儿");
map.put(3, "林月如");
map.put(4, "徐长卿");
map.put(5, "唐雪见");
//firstMethod(map);
//secondMethod(map);
//thirdMethod(map);
//fourthMethod(map);
}
第一种方法和运行结构:
private static void firstMethod(HashMap<Integer, String> map){
System.out.println("foreach循环进行遍历");
for (Integer key : map.keySet()) {
System.out.println("key:"+key+"对应的值为:"+map.get(key));
}
}
第二种方法和运行结果:
public static void secondMethod(HashMap<Integer, String> map){
System.out.println("通过Iterator遍历获取");
Iterator<Entry<Integer, String>> inte = map.entrySet().iterator();
while(inte.hasNext()){
Map.Entry<Integer, String> m = inte.next();
System.out.println("key:"+m.getKey()+"对应的值为:"+m.getValue());
}
}
第三种方法和运行结果:
public static void thirdMethod(HashMap<Integer, String> map){
System.out.println("第三种方式:map.entrySet()");
for (Entry<Integer, String> str : map.entrySet()) {
System.out.println("key:"+str.getKey()+"对应的值为:"+str.getValue());
}
}
第四种方法和运行结果:
public static void fourthMethod(HashMap<Integer, String> map) {
System.out.println("通过map.values()循环遍历直接获取值");
for (String string : map.values()) {
System.out.println("map的值为:" + string);
}
}
不管是遍历Map还是List的,其本质都是获取对应的值,程序员在开发中可以根据开发场景适当的选择各种方法,但是理解其本质才是最主要的。我会在后期分享对List的遍历方法的总结,供大家参考,仅个人观点,有不足的地方欢迎支出,请继续关注我的分享。