Map集合的输出

总结思路:只要碰到了集合输出的操作,就一定使用Iterator接口,因为这是最标准的做法。

注意:输出key和value存放的集合接口不一样:
key 是Set集合
value 是Collection集合


package zz.mapdemo;

import java.util.Map;
import java.util.HashMap;
import java.util.Set;
import java.util.Iterator;
// Map输出全部的key
public class IteratorDemo01{
	public static void main(String []args){
		Map<String, String> map = null;		// 声明Map对象,并指定泛型类型
		map = new HashMap<String, String>();	// 
		map.put("新浪网址:", "www.sina.com");	// 增加内容
		map.put("百度网址:", "www.baidu.com");	
		map.put("csdn网址:", "www.csdn.com");

		Set<String> keys = map.keySet();		// 得到全部的key变成Set集合
		Iterator<String> iter = keys.iterator();		// 实例化Iterator对象

		while (iter.hasNext()){
			String str = iter.next();	// 取出key
			System.out.println(str);	// 输出key
		}

	}
}

新浪网址:
csdn网址:
百度网址:

package zz.mapdemo;

import java.util.Map;
import java.util.HashMap;
//import java.util.Set;
import java.util.Iterator;
import java.util.Collection;	//values()方法返回类型是Collection
// Map输出全部的value
public class IteratorDemo02{
	public static void main(String []args){
		Map<String, String> map = null;		// 声明Map对象,并指定泛型类型
		map = new HashMap<String, String>();	// 
		map.put("新浪网址:", "www.sina.com");	// 增加内容
		map.put("百度网址:", "www.baidu.com");	
		map.put("csdn网址:", "www.csdn.com");

		Collection<String> values = map.values();		// 得到全部的value变为Collection集合
		Iterator<String> iter = values.iterator();		// 实例化Iterator对象

		while (iter.hasNext()){
			String str = iter.next();	
			System.out.println(str);	// 输出value
		}

	}
}

www.sina.com
www.csdn.com
www.baidu.com

注意:不能直接使用迭代输出Map中的全部内容
(1)、将Map接口的实例通过entrySet()方法变为Set接口对象
(2)、通过Set接口实例化为Iterator对象
(3)、通过Iterator迭代输出,每个内容都是Map.Entry的对象
(4)、通过Map.Entry进行key -> value的分离

package zz.mapdemo;

import java.util.Map;
import java.util.HashMap;
import java.util.Set;
import java.util.Iterator;
// Map输出最标准的操作流程
public class IteratorDemo04{
	public static void main(String []args){
		Map<String, String> map = null;		// 声明Map对象,并指定泛型类型
		map = new HashMap<String, String>();	// 
		map.put("新浪网址:", "www.sina.com");	// 增加内容
		map.put("百度网址:", "www.baidu.com");	
		map.put("csdn网址:", "www.csdn.com");
		// 输出方式一:Iterator输出

		Set<Map.Entry<String, String>> allSet = null;
		allSet = map.entrySet();		// 将Map接口实例变为Set接口实例
		Iterator<Map.Entry<String, String>> iter = null;
		iter = allSet.iterator();		// 实例化Iterator对象

		while (iter.hasNext()){
			Map.Entry<String, String> me = iter.next();	// 找到Map.Entry的每对数据的实例
			System.out.println(me.getKey() + "-->" + me.getValue());	// 输出key 和 value
		}

		// 输出方式二:foreach输出
/* 
		for (Map.Entry<String, String> me : map.entrySet()){
			System.out.println(me.getKey() + "-->" + me.getValue());	// 输出key 和 value			
		}
*/
	}
}

新浪网址:-->www.sina.com
csdn网址:-->www.csdn.com
百度网址:-->www.baidu.com

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值