Java 遍历list和map的方法
java遍历list
packagecom.tiandy.core.rest; importjava.util.ArrayList; importjava.util.Iterator; importjava.util.List; /** *List集合的循环遍历 *@data2020.12.12 * */ publicclassTestList{ publicstaticvoidmain(String[]args){ //循环遍历List的4中方法 ListstrList=newArrayList<>(); strList.add("aaa"); strList.add("bbb"); strList.add("ccc"); //第一种:普通for循环遍历方式(好处是可以选择下标) for(inti=0;i it=strList.iterator(); while(it.hasNext()){ Stringstr=(String)it.next(); System.out.println(str); } //第四种:java8Lambda方式(箭头函数) //strList.forEach(System.out::println);//和下面的写法等价(当后边只有一行内容是可以简写) strList.forEach(str->{ System.out.println(str); }); } }
如果想要在循环的过程中国,使用下标,推荐第一种方式方式;
如果需要曾强for循环,可以直接使用对象,推荐使用第二种方式;
如果需要在遍历过程中删除元素推荐第三种使用Iterator;
如果是JDK1.8以上版本,追求效果简洁,可以使用第四种方式使用forEach箭头函数。
Java遍历map
packagecn.jdbc.test; importjava.util.HashMap; importjava.util.Iterator; importjava.util.Map; importjava.util.Map.Entry; /** *Map集合的循环遍历 *@data2020.11.12 * */ publicclassTestMap{ publicstaticvoidmain(String[]args){ Mapmap=newHashMap (); map.put("aaa",111); map.put("bbb",222); map.put("ccc",333);//第一种:通过keySet的方式 System.out.println("第1种:通过Map.keySet()遍历key和value:"); for(Stringkey:map.keySet()){//keySet获取map集合key的集合然后在遍历key获取value即可 Stringvalue=map.get(key).toString();// System.out.println("key:"+key+"vlaue:"+value); } //第二种:通过迭代器的方式 System.out.println("第2种:通过Map.entrySet使用iterator遍历key和value:"); Iterator >it=map.entrySet().iterator(); while(it.hasNext()){ Entry entry=it.next(); System.out.println("key:"+entry.getKey()+"key:"+entry.getValue()); } //第三种:尤其是容量大时,推荐 System.out.println("第3种:通过Map.entrySet遍历key和value"); for(Map.Entry m:map.entrySet()){ System.out.println("key:"+m.getKey()+"value:"+m.getValue()); } //第四种:只需要获取value时使用 System.out.println("第4种:通过Map.values()遍历所有的value,但不能遍历key"); for(Objectm:map.values()){ System.out.println(m); } } }
如果只是获取key,或者value,推荐使用keySet或者values方式;
如果同时需要key和value推荐使用entrySet;
如果需要在遍历过程中删除元素推荐使用Iterator;
如果需要在遍历过程中增加元素,可以新建一个临时map存放新增的元素,等遍历完毕,再把临时map放到原来的map中。
以上就是Java遍历list和map的方法的详细内容,更多关于Java遍历list和map的资料请关注毛票票其它相关文章!
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。