在实际开发之中, 如果你存储数据是为了输出, 那么优先考虑的一定是 Collection, 使用 Map 的主要操作就是设置我们的内容, 然后使用 get()进行查找的.
使用Map迭代输出的需求会有, 但是不多. 要明确的是:
Map 接口没有iterator()方法
在Map 接口里有一个重要的方法, 将 Map 集合转换成 Set 集合:
public Set<Map.Entry<K,V>> entrySet()
范例: 通过 Iterator输出Map 集合 (要重点掌握)
package com.beyond.nothing;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Set;
public class test {
public static void main(String[] args) {
// static 定义的内部接口相当于外部接口
Map<Integer, String> map = new HashMap<>();
map.put(1, "Hellp");
map.put(2, "World");
// 将Map 集合变为 Set
Set<Map.Entry<Integer, String>> set = map.entrySet();
// 实例化 Iterator 接口
Iterator<Map.Entry<Integer, String>> iter = set.iterator();
// 迭代输出, 取出每一个 Map.Entry 对象
while (iter.hasNext()) {
Map.Entry<Integer, String> me = iter.next();
System.out.println(me.getKey() + "= " + me.getValue());
}
}
}
以上的形式相比较于 Collection (List, Set) 而言, 出现的机率不高, 但是依然需要我们熟练使用.