对于Map接口来说,其本身不能使用迭代,(例如Iterator,foreach)进行输出,以为Map中每个位置存放一对值(key—value),而Iterator中每次只能找到一个值,所以 非要使用迭代输出的话:
1 ,将Map实例通过entrySet()方法变为Set接口对象
2 ,通过Set接口实例为Iterator实例化
3 ,通过Iterator迭代输出,每个内容都是Map.Entry对象。
4 ,通过Map.Entry进行key—->value分离 。
import java.util.Map ;
import java.util.Set ;
import java.util.HashMap ;
import java.util.Iterator ;
public class IteratorDemo03
{
public static void main(String[] args)
{
Map<String,String>map = null ; //声明Map对象
map = new HashMap<String,String>() ; //实例化对象
map.put("张三","IronMan") ;
map.put("李四","SpiderMan") ;
map.put("王五","SuperMan") ;
Set<Map.Entry<String,String>>allSet = null ; //实例化Set对象
allSet = map.entrySet() ;
Iterator<Map.Entry<String,String>>ite = null ; //实例化Iterator对象
ite = allSet.iterator() ;
while(ite.hasNext())
{
Map.Entry<String,String>me = ite.next() ;
System.out.println(me.getKey()+"---->"+me.getValue()) ;
}
}
}
import java.util.Map ;
import java.util.HashMap ;
import java.util.Set ;
import java.util.Iterator ;
public class ForeachDemo02
{
public static void main(String[] args)
{
Map<String,String>map = null ; //声明 Map对象
map = new HashMap<String,String>() ;
map.put("张三","IronMan") ;
map.put("李四","SuperMan") ;
map.put("王五","SpiderMan") ;
for(Map.Entry<String,String>me:map.entrySet())
{
System.out.println(me.getKey()+"---->"+me.getValue()) ;
}
}
}