大家好,又见面了,我是你们的朋友全栈君。
古人云:温故而知新。 最近闲来无事就去翻阅了一下之前的一些基础java知识点。本想着随便看看,然而就发现有了意外收获。比如本文所讲HashMap遍历的四种常用方式。 大伙们一起学习一起进步,记得点赞关注以示鼓励哈!!!
准备工作
首选我们先准备一个HashMap。
代码语言:javascript复制public class Test1 {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("a", "value1");
map.put("b", "value2");
map.put("c", "value3");
}
}
第一种:通过Map.keySet()遍历key和value
这个方式是我目前工作和学习中最常使用的。主要就是遍历HashMap的key然后根据key去获取value.
代码语言:javascript复制public class Test1 {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("a", "value1");
map.put("b", "value2");
map.put("c", "value3");
for(String s : map.keySet()){
System.out.println("key是" s "____value是" map.get(s));
}
}
}
结果:
代码语言:javascript复制key =a and value= value1
key =b and value= value2
key =c and value= value3
第二种:通过Map.values()遍历所有的value,但不能遍历key
这主要就是直接遍历HashMap的value.
代码语言:javascript复制public class Test1 {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("a", "value1");
map.put("b", "value2");
map.put("c", "value3");
for(String s : map.values()){
System.out.println("value是" s);
}
}
}
结果:
代码语言:javascript复制value是value1
value是value2
value是value3
第三种:通过Map.entrySet()遍历key和value
这个方式是我这次的新收获。entry简单理解就是一个键值对。遍历每个键值对,就能获取当前entry的key和value。
代码语言:javascript复制public class Test1 {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("a", "value1");
map.put("b", "value2");
map.put("c", "value3");
for (Map.Entry<String, String> entry : map.entrySet()) {
System.out.println("key= " entry.getKey() " and value= " entry.getValue());
}
}
}
结果:
代码语言:javascript复制key =a and value= value1
key =b and value= value2
key =c and value= value3
第四种:通过Map.entrySet使用iterator遍历key和value
这个就是利用entry的迭代去遍历。跟第三种差不多。
代码语言:javascript复制public class Test1 {
public static void main(String[] args) {
Map<String, String> map = new HashMap<String, String>();
map.put("a", "value1");
map.put("b", "value2");
map.put("c", "value3");
Iterator<Map.Entry<String, String>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<String, String> entry = it.next();
System.out.println("key= " entry.getKey() " and value= " entry.getValue());
}
}
}
结果:
代码语言:javascript复制key =a and value= value1
key =b and value= value2
key =c and value= value3
总结:
文章主要还是自己温故和记忆使用,兄弟们为了加强记忆可以收藏关注一波。当然自己找个本子或者写篇博客发表自己的意见,或许印象更加深刻!加油!!!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/195698.html原文链接:https://javaforall.cn