Map两种迭代方法

两种获取集合元素的方法:
        重点说一下获取方法中的两个:keySet()和entrySet()方法
1、keySet()方法获取元素
原理:将Map集合中的所有键存入到Set集合中,因为Set集合具备迭代器,所以可以用迭代方式取出所有的键,再根据get方法获取每一个键对应的值。简单说就是:Map集合---->Set集合 ---->迭代器取出
示例:
<span style="font-family: Arial; font-size: 10px; ">//keySet集合测试

import java.util.*;
class KeySetDemo 
{
	public static void main(String[] args) 
	{
		//创建Map集合,并添加元素
		Map<Integer,String> map = new HashMap<Integer,String>();
		map.put(2,"zhangsan");
		map.put(6,"lisi");
		map.put(3,"wangwu");
		map.put(4,"heihei");
		map.put(5,"xixi");
		//获取map集合中的所有键的Set集合
		Set<Integer> keySet = map.keySet();
		//有了Set集合就可以获取其迭代器,取值
		Iterator<Integer> it = keySet.iterator();
		while (it.hasNext())
		{
			Integer i = it.next();
			String s = map.get(i);
			System.out.println(i + " = " + s);
		}
	}
}
</span>
2、entrySet()方法获取元素:
原理:将Map集合中的映射关系存入到了Set集合中,而这个映射关系的数据类型是Map.Entry,在通过迭代器将映射关系存入到Map.Entry集合中,并通过其中的getKey()和getValue()放取出键值。
示例:
<span style="font-family: Arial; font-size: 10px; ">/*
entrySet取出方式:
*/
import java.util.*;
class EntrySetDemo
{
	public static void main(String[] args) 
	{
		//创建集合,存入元素
		Map<String,String> map = new HashMap<String,String>();
		map.put("01","lisi1");
		map.put("02","lisi2");
		map.put("03","lisi3");
		map.put("04","lisi4");
		//获取map集合中的所有键,存入到Set集合中,
		Set<Map.Entry<String,String>> entry = map.entrySet();
		//通过迭代器取出map中的键值关系,迭代器接收的泛型参数应和Set接收的一致
		Iterator<Map.Entry<String,String>> it = entry.iterator();
		while (it.hasNext())
		{
			//将键值关系取出存入Map.Entry这个映射关系集合接口中
			Map.Entry<String,String>  me = it.next();
			//使用Map.Entry中的方法获取键和值
			String key = me.getKey();
			String value = me.getValue();
			System.out.println(key + " : " + value);
		}
	}
}
</span>

展开阅读全文

没有更多推荐了,返回首页