Iterator iter=map.entrySet().iterator();

兮兮不可怜 1年前 已收到1个回答 举报

幽若尘纯 幼苗

共回答了15个问题采纳率:80% 举报

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

1年前 追问

4

兮兮不可怜 举报

Iterator> iter=map.entrySet().iterator();按正常思路来写怎样写(调用entrySet()和iterator()不是分开写的吗?为什么Entry的首字母要大写

举报 幽若尘纯

Iterator iter;//声明一个迭代器,泛型里面是String类型,表示迭代元素是String类型的 Iterator> iter;//而你提供的要稍微复杂一点,迭代元素本身就是一个Entry键值对,Entry表示其key值是String,value值也是String。 后面部分: HashSet set=map.entrySet();//将map类型数据转换成集合set类型的。 iter=set.iterator();//获得集合的迭代器。迭代器只针对集合类型的数据,因此map类型的必须先转换成集合类型才能使用迭代器去获取元素。 Entry首字母大写是因为它是java提供的类。。类首字母大写这是JavaBean规范 不明白继续问。。

兮兮不可怜 举报

我学习的时候,HashMap使用Iterator迭代时,用keySet()来获得,在什么情况下,使用entrySet(),两者有什么区别

举报 幽若尘纯

keySet获得的只是key值的集合,valueSet获得的是value集合,entryset获得的是键值对的集合。具体怎么用看你自己情况需要哈。
可能相似的问题
Copyright © 2024 YULUCN.COM - 雨露学习互助 - 17 q. 0.036 s. - webmaster@yulucn.com