java中HashMap的遍历
来源:互联网 发布:国产psp4000淘宝 编辑:程序博客网 时间:2024/06/15 09:00
【遍历方法一】
- for(Map.Entry<key_type , value_type> entry : hashmap.entrySet()){
- System.out.println("Key="+entry.getKey()+"---->value="+entry.getValue().toString())
- }
for each map.entrySet()
【遍历方法二:用keySet遍历】
- Iterator it=hashmap.keySet().iterator();//这是取得键对象
- while(it.hasNext())
- {
- System.out.println( "it.Next数据的值是: "+get(it.next())); //获得键所对应的值。
- }
for each map.keySet(),再调用get获取
【遍历方法三:用entrySet遍历】
- Iterator i = hasmap.entrySet().iterator();
- while(i.hasNext()){
- Entry entry=(Entry)it.next();
- Object key=entry.getKey();
- Object value=entry.getValue();
- }
使用HashMap的匿名内部类Entry遍历比使用keySet()效率要高很多,使用forEach循环时要注意不要在循环的过程中改变键值对的任何一方的值,否则出现哈希表的值没有随着键值的改变而改变,到时候在删除的时候会出现问题。
此外,entrySet比keySet快些。对于keySet其实是遍历了2次,一次是转为iterator,一次就从hashmap中取出key所对于的value。而entrySet只是遍历了第一次,他把key和value都放到了entry中,所以就快了。
a. HashMap的循环,如果既需要key也需要value,直接用
即可,foreach简洁易懂。
b. 如果只是遍历key而无需value的话,可以直接用
// JDK1.4中
// 遍历方法一 hashmap entrySet() 遍历
System.out.println("方法一");
Iterator it = tempMap.entrySet().iterator();
while (it.hasNext()) {
Map.Entry entry = (Map.Entry) it.next();
Object key = entry.getKey();
Object value = entry.getValue();
System.out.println("key=" + key + " value=" + value);
}
System.out.println("");
// JDK1.5中,应用新特性For-Each循环
// 遍历方法二
System.out.println("方法二");
for (Map.Entry<String, Integer> entry : tempMap.entrySet()) {
String key = entry.getKey().toString();
String value = entry.getValue().toString();
System.out.println("key=" + key + " value=" + value);
}
System.out.println("");
// 遍历方法三 hashmap keySet() 遍历
System.out.println("方法三");
for (Iterator i = tempMap.keySet().iterator(); i.hasNext();) {
Object obj = i.next();
System.out.println(obj);// 循环输出key
System.out.println("key=" + obj + " value=" + tempMap.get(obj));
}
for (Iterator i = tempMap.values().iterator(); i.hasNext();) {
Object obj = i.next();
System.out.println(obj);// 循环输出value
}
System.out.println("");
0 0
- java中HashMap的遍历
- java中HashMap的遍历
- java中HashMap的遍历
- Java中遍历HashMap
- Java中hashmap 遍历
- Java中遍历HashMap
- Java中遍历HashMap
- Java中遍历HashMap
- Java中ArrayList与HashMap的遍历
- Java中ArrayList与HashMap的遍历
- java中遍历HashMap的方法
- java中遍历HashMap的方法
- Java中HashMap遍历的方式
- Java中Hashmap的遍历方法
- java中遍历HashMap的方法总结
- Java中HashMap的循环遍历方式
- java HashMap的遍历
- 【java】HashMap的遍历
- 彻底成功配置Maven和Eclipse集成
- Longest Valid Parentheses
- 物化视图日志异常的处理
- leetcode:Populating Next Right Pointers in Each Node
- zookeeper 集群环境搭建
- java中HashMap的遍历
- snapshot
- Ubunt下安装mysql及遇到的问题(怎么解决mysql远程连接报10038的错误)
- C语言程序设计笔记(五)
- 数据字典
- .NET泛型解析(上)
- 多路径(multi-path)软件的介绍
- Windows Server 2012 GUI与Core的切换方法
- linux笔记