• 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获得的是键值对的集合。
    具体怎么用看你自己情况需要哈。

  • 相关阅读:
    Qt对文件的删除、复制、移动、可执行文件位置
    qt关于窗口关闭触发函数/信号
    QString.toUtf8().data()的问题 & char *转换到QByteArray注意
    Qt中类型之间的转换
    C++中auto和decltype的区别和功能
    Delphi 系统[11]关键字和保留字 goto、label
    Delphi 系统[10]关键字和保留字 with
    Delphi 系统[9]关键字和保留字 for、to、downto、do、while、repeat、until
    Delphi 系统[8]关键字和保留字 if、then、else、case
    Delphi 系统[7]关键字和保留字 begin、end
  • 原文地址:https://www.cnblogs.com/mike-mei/p/9986566.html
Copyright © 2020-2023  润新知