java集合类中Map的遍历方式

java集合类中Map的遍历方式java集合类中Map的遍历方式

Map集合的几种遍历方式:

public class TestMap {
public static void main(String[] args) {
Map<Integer,String> map=new HashMap<Integer,String>();
map.put(24,"科比");
map.put(23,"詹姆斯");
map.put(3,"韦德");
map.put(0,"维斯布鲁克");
map.put(7,"林书豪");
System.out.println(map);

我们都知道Map集合中是以键值对的方式存储的:因此输出结果为

{0=维斯布鲁克, 3=韦德, 23=詹姆斯, 7=林书豪, 24=科比}

再执行下面的语句:Set<Map.Entry<Integer,String>> set=map.entrySet();

就将Map集合转为了Set集合类:[0=维斯布鲁克, 3=韦德, 23=詹姆斯, 7=林书豪, 24=科比]

这样就可以用Iterator迭代器进行遍历:

Iterator<Map.Entry<Integer,String>> iter=set.iterator();
while(iter.hasNext())
{
Map.Entry<Integer,String> entry=iter.next();
System.out.println(entry);
}
for(Iterator<Map.Entry<Integer, String>>iterator1=set.iterator();iterator1.hasNext();)
{
Map.Entry<Integer, String> entry1=iterator1.next();
System.out.println(entry1);
}

在这里也可以用加强for循环来进行遍历(需要一个数组)所以就用set集合来遍历

for(Map.Entry<Integer,String> i:set)
{
System.out.println(i.getKey()+i.getValue());
}

这样就得不到完整打印Map数组中元素的效果。

结果为:0维斯布鲁克
3韦德
23詹姆斯
7林书豪
24科比

也有一种简单的遍历Map集合的方式:用key值来寻找(遍历)整个Map集合

Set <Integer>s=map.keySet();
for(Integer i:s)
{
System.out.println(map.get(i));
}