JAVA循环遍历Map的几种方法
***种用for循环
Java代码
for(Map.EntryString, String entry:map.entrySet()){
System.out.println(entry.getKey()+"---"+entry.getValue());
}
第二种用迭代
Java代码
Set set = map.entrySet();
Iterator i = set.iterator();
while(i.hasNext()){
Map.EntryString, String entry1=(Map.EntryString, String)i.next();
System.out.println(entry1.getKey()+"=="+entry1.getValue());
}
用keySet()迭代
Java代码
Iterator it=map.keySet().iterator();
while(it.hasNext()){
String key;
String value;
key=it.next().toString();
value=map.get(key);
System.out.println(key+"--"+value);
}
用entrySet()迭代
Java代码
Iterator it=map.entrySet().iterator();
System.out.println( map.entrySet().size());
String key;
String value;
while(it.hasNext()){
Map.Entry entry = (Map.Entry)it.next();
key=entry.getKey().toString();
value=entry.getValue().toString();
System.out.println(key+"===="+value);
}
map循环删除某个元素为什么不能用for
语法错误。map循环是C语言中的编写程序,该编写程序删除元素,因为语法错误。所以不能用for。
Map循环遍历常用方法
这里我简单写写我知道的几种方法------注意循环对象不要为null哦!
第1种方法:通过map.entrySet()循环获取数据
第2种方法:通过map.keySet()循环获取数据
第3种方法:通过map.values()循环获取数据,但是无法获取key值
第4种方法:通过iterator循环获取数据,优点在于可以添加或删除数据
map.keySet()和map.values()的迭代就不写了,其实就是Set和List的迭代。
性能对比:
同时遍历key与value时,keySet与entrySet方法的性能差异取决于key的具体情况,包括复杂度,离散度,冲突率等。entrySet一次性取出key与value是有性能损耗的,当这个损失小于HashMap查找value的开销时,entrySet的性能优势就会体现出来。当key是比较简单或者是比较连贯的数据的时候,使用keySet会相对高效。但是如果随着key的复杂化,entrySet更有优势。所以一般建议使用entrySet,它相对来说,比较稳定。
只遍历key时,keySet方法更为合适,因为entrySet将无用的value也给取出来了,浪费了性能和空间。
只遍历value时,使用vl***es方法是***选择,entrySet会略好于keySet方法。
map数组的循环方法
类似于foreach循环遍历
共同点:
只能遍历数组
每一次执行匿名函数都支持三个参数,数组中的当前项item,当前项的索引index,原始数组input
每一次匿名函数的this指向为window
不同点:map每次return一个length长度和原数组一样的数组
总结:由此可见map循环遍历之后还会操作数组中每项数据进行X*10
一些理解性图片:
list里的每一项flag,有就赋值,没有就创建,值为checked
关于map循环和map循环遍历删除的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。