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;iit=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()){
Entryentry=it.next();
System.out.println("key:"+entry.getKey()+"key:"+entry.getValue());
}
//第三种:尤其是容量大时,推荐
System.out.println("第3种:通过Map.entrySet遍历key和value");
for(Map.Entrym: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(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。