map的迭代器

时间:2021-08-05 13:54:44
Iterator<Entry<String,String>> iter=map.entrySet().iterator();

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<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类型的必须先转换成集合类型才能使用迭代器去获取元素。

keySet获得的只是key值的集合,
values获得的是value集合,
entryset获得的是键值对的集合。