java中hashmap遍历有两种方法,第一种就是将所有的key放到set中,然后通过遍历set通过key来获取value,可以选择使用迭代器遍历也可以使用增强for来遍历,第二种可以使用entryset来循环,推荐使用entryset,因为entry里面放的是key和value,所以效率更快
// hashmap操作(key value, key不可以重复, 无序)key 经过hash加密,并且equal对比来确定其内存地址
System.out.println("hashmap操作==================");
Map<String, String> hashMap1 = new HashMap<>();
hashMap1.put("k1","v1");
hashMap1.put("k2","v2");
hashMap1.put("k3","v3");
hashMap1.put("k4","v4");
hashMap1.put("k1","v1");
System.out.println(hashMap1);
// hashmap遍历取值方法 将所有的key放到set中,然后遍历set取出value
System.out.println("hashmap操作遍历取出==================");
Set<String> setKey = hashMap1.keySet();
Iterator iteratorSet = setKey.iterator();
while (iteratorSet.hasNext()){
String value = hashMap1.get(iteratorSet.next());
System.out.println(value);
}
for(String i:setKey) {
System.out.println(i);
}
// 使用entry来遍历取值,速度较快,推荐使用
System.out.println("entry操作遍历取出==================");
Iterator entInfo = hashMap1.entrySet().iterator();
while (entInfo.hasNext()){
Map.Entry entry = (Map.Entry) entInfo.next();
Object key = entry.getKey();
Object value = entry.getValue();
System.out.println(key);
System.out.println(value);
}
for (Map.Entry<String, String> entry : hashMap1.entrySet()){
System.out.println(entry.getKey());
System.out.println(entry.getValue());
}
// Hashtable和HashMap的区别,hashtable不支持空指针,也就是key value不能为空
Map<String, String> tableMap = new Hashtable<>();
// tableMap.put("":"haha"); 报错
今天的文章java中hashmap遍历分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/4541.html