zoukankan      html  css  js  c++  java
  • Iterator<Entry<String,String>> iter=map.entrySet().iterator(); 是什么意思

    map不有个Key和value吗 一个Key对应一个value 而key和value组合起来的一个组就是entry 要想取出这个组里的key和value就用entry的迭代器迭代即可。

    //获得map的迭代器,用作遍历map中的每一个键值对
    Iterator是迭代器,map之前应该定义过,姑且认为是HashMap。
    <Entry<String,String>>表示map中的键值对都是String类型的。
    map.entrySet()是把HashMap类型的数据转换成集合类型
    map.entrySet().iterator()是去获得这个集合的迭代器,保存在iter里面。。
    迭代器这么用:
    while(iter.hasNext()) {
    Entry obj = it.next();//就能获得map中的每一个键值对了
    }

    ----------------------------------------------------------------------------

    Iterator<Entry<String,String>> iter=map.entrySet().iterator();按正常思路来写怎样写
    (调用entrySet()和iterator()不是分开写的吗?
    为什么Entry的首字母要大写
    ----------------------------------------------------------------
    Iterator<String> iter;//声明一个迭代器,泛型里面是String类型,表示迭代元素是String类型的
    Iterator<Entry<String,String>> iter;//而你提供的要稍微复杂一点,迭代元素本身就是一个Entry键值对,
    Entry<String,String>表示其key值是String,value值也是String。

    后面部分:
    HashSet set=map.entrySet();//将map类型数据转换成集合set类型的。
    iter=set.iterator();//获得集合的迭代器。迭代器只针对集合类型的数据,
    因此map类型的必须先转换成集合类型才能使用迭代器去获取元素。

    Entry首字母大写是因为它是java提供的类。。类首字母大写这是JavaBean规范

    不明白继续问。。
    ---------------------------------------------------------------------------------------------
    我学习的时候,HashMap使用Iterator迭代时,用keySet()来获得,在什么情况下,
    使用entrySet(),两者有什么区别
    -------------------------------------------------------------------------------------------
    keySet获得的只是key值的集合,
    values获得的是value集合,
    entryset获得的是键值对的集合。
    具体怎么用看你自己情况需要哈。

  • 相关阅读:
    数据结构——二叉树创建及遍历
    数据结构——二叉树基础
    数据结构——树
    C++拷贝构造函数
    链表C语言实现
    hrbust-oj 1937 神奇的进制转换
    UVALive 6736 Army Formation (容斥原理)
    POJ 2888 Magic Bracelet (Burnside + 矩阵加速dp)
    UVA 10601 Cubes (Burnside引理)
    UVA 11255 Necklace (BurnSide定理)
  • 原文地址:https://www.cnblogs.com/mike-mei/p/9986566.html
Copyright © 2011-2022 走看看