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 获得的是键值对的集合.
来源: http://www.bubuko.com/infodetail-2720294.html