博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
java--迭代范型化 HashMap
阅读量:5280 次
发布时间:2019-06-14

本文共 968 字,大约阅读时间需要 3 分钟。

java.util.HashMap<K,V>

类型参数:
K - 此映射所维护的键的类型
V - 所映射值的类型 

由于HashMap没有实现iterable 接口所以我们不能直接用 迭代for循环 来 迭代 HashMap  。 

<<,>>

()

          返回此映射所包含的映射关系的 视图  ,将HashMap中的键值对 映射到类型化Set中,映射后的Set只是一个HashMap的视图,我们不能对视图进行add操作,由于Set实现了Iterable接口 所以可以进行迭代操作。这个方法返回的collection集合的元素类型就是键值对

public static interface Map.Entry

映射项(键-值对)。Map.entrySet 方法返回映射的 collection 视图,其中的元素属于此类。获得映射项引用的唯一 方法是通过此 collection 视图的迭代器来实现。这些 Map.Entry 对象 在迭代期间有效;更确切地讲,如果在迭代器返回项之后修改了底层映射,则某些映射项的行为是不确定的,除了通过 setValue 在映射项上执行操作之外。     

 

下面是代码示例:

 HashMap<String, Integer>  map=new  HashMap<String,Integer>();     //定义范型化 HashMap

  int i=1;
  map.put("First", i++) ;
  map.put("Second", i++)  ;
  map.put("Third", i++)  ;
  Set<Map.Entry<String,Integer>> entryset=map.entrySet() ;        //获得HashMap的映射视图      返回一个范型化的 Set对象    Map.Entry<String,Integer>>  就是一个键值对
        
  for(Map.Entry<String, Integer> m:entryset)        //对Set进行迭代操作
  {  
   System.out.println(m.getKey() + " : " +m.getValue() );
  }
  

转载于:https://www.cnblogs.com/yuedongwei/archive/2012/02/06/4145523.html

你可能感兴趣的文章
[JS]递归对象或数组
查看>>
linux sed命令
查看>>
程序存储问题
查看>>
优雅地书写回调——Promise
查看>>
PHP的配置
查看>>
Struts框架----进度1
查看>>
Round B APAC Test 2017
查看>>
MySQL 字符编码问题详细解释
查看>>
寄Android开发Gradle你需要知道的知识
查看>>
css & input type & search icon
查看>>
C# 强制关闭当前程序进程(完全Kill掉不留痕迹)
查看>>
语音识别中的MFCC的提取原理和MATLAB实现
查看>>
MetaWeblog API Test
查看>>
移动、尺寸改变
查看>>
c# 文件笔记
查看>>
类和结构
查看>>
心得25--JDK新特性9-泛型1-加深介绍
查看>>
安装NVIDIA驱动时禁用自带nouveau驱动
查看>>
HDU-1255 覆盖的面积 (扫描线)
查看>>
Java 中 静态方法与非静态方法的区别
查看>>