java学习(2)Map类的遍历

1.      Map类的遍历总共分为三种(有的分成四种,但我觉得就三种)

1.1.       按照key

1.2.       按照value(但是此种不能遍历key,只能遍历value)

1.3.       利用Map.Entry

2.          下面是代码:

首先是main函数:

public static void main(String[] args) {
		// TODO Auto-generated method stub

		Map<Integer,String> map = new HashMap<Integer,String>();
		//Map<Integer,String> map = new LinkedHashMap<Integer,String>();
		//Map<Integer,String> map = new TreeMap<Integer,String>();
		map.put(1, "one");
		map.put(5, "five");
		map.put(3, "three");
		map.put(2, "two");
		traverseByKey(map);
		traverseByValue(map);
		traverseByEntry(map);
	}


按照key遍历:(其中没有用泛型,因为这样更具有普适性,后面的排序就是直接用的这里的遍历方法,很方便)


public static void traverseByKey(Map map)
	{
		Set keySet = map.keySet();
		Iterator iter = keySet.iterator();
		System.out.println("traverseByKey: ");
		while(iter.hasNext())
		{
			//Integer key = (Integer)iter.next();
			//get里面会直接发生强转。
			Object o = iter.next();
			System.out.println(o+": "+map.get(o));
		}
		System.out.println("traverseByKey: end");
	}

按照Value:

//按照Value,但是不能遍历key
	public static void traverseByValue(Map<Integer,String> map)
	{
		//不能用向下转型,向下转型只有在你知道他本来是什么类型的情况下才会成功。          
		Collection<String> values = (Collection<String>) map.values();
		System.out.println("traverseByValue: ");
		for(String value: values)
		{
			System.out.println("value: "+value);
		}
		
		System.out.println("traverseByValue: end");
	}

按照Entry:

//按照Entry
	public static void traverseByEntry(Map<Integer,String> map)
	{
		System.out.println("traverseByEntry: ");
		Set<Map.Entry<Integer, String>> entrySet = map.entrySet();
		for(Map.Entry<Integer, String> entry: entrySet)
		{
			System.out.println(entry.getKey()+": "+entry.getValue());
		}
		System.out.println("traverseByEntry: end");
	}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值