map集合类迭代方法

java中的map集合类用于存储键值对,提供键(key)到值(value)的映射,不允许键重复,值可以重复。

代码提供Map的两种迭代方式:keyset方法和entryset方法。并使用传统Iterator方式和增强for循环的方式进行迭代。

工程开发实践中,更多的会使用到entryset方法,重点掌握entryset!


/**
 * 
 * 功能:Map的迭代方式:
 * 		1.keyset方法
 * 			获取Map集合中的所有键的Set集合,然后通过Set集合中的键访问Map集合中相应的值
 * 		2.entryset
 * 			获取Map集合中所有的键值对,并以Map.Entry的格式存入Set集合中,然后通过
 * 		Map.Entry的getKey()和getValue()方法访问键值对
 */

package com.test.map;

import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;

import org.junit.Test;

public class Demo1 {
	
	//传统方法迭代
	@Test
	public void test1(){
		
		Map<Integer,String> map = new LinkedHashMap<Integer,String>();
		map.put(1, "aa");
		map.put(2, "bb");
		map.put(3, "cc");
		
		//传统  1.keyset
		//获取map集合中的所有键的Set集合
		Set<Integer> set = map.keySet();
		Iterator<Integer> it = set.iterator();
		while(it.hasNext()){
			int key = it.next();
			String value = map.get(key);
			
			System.out.println(key + ":" + value);
		}
	}
	
	@Test
	public void test2(){
		
		Map<Integer,String> map = new LinkedHashMap<Integer,String>();
		map.put(1, "aa");
		map.put(2, "bb");
		map.put(3, "cc");
		
		//传统  2.entryset
		Set<Map.Entry<Integer,String>> set = map.entrySet();
		Iterator<Map.Entry<Integer,String>> it = set.iterator();
		while(it.hasNext()){
			Map.Entry<Integer,String> entry = it.next();
			int key = entry.getKey();
			String value = entry.getValue();
			
			System.out.println(key + ":" + value);
		}
	}
	
	
	//使用增强for循环进行迭代
	@Test
	public void test3(){
		
		Map<Integer,String> map = new LinkedHashMap<Integer,String>();
		map.put(1, "aa");
		map.put(2, "bb");
		map.put(3, "cc");
		
		//增强for循环  1.keyset
		Set<Integer> set = map.keySet();
		for(int key : set){
			String value = map.get(key);
			
			System.out.println(key + ":" + value);
		}
	}
	
	@Test
	public void test4(){
		
		Map<Integer,String> map = new LinkedHashMap<Integer,String>();
		map.put(1, "aa");
		map.put(2, "bb");
		map.put(3, "cc");
		
		//增强for循环   2.entryset
		Set<Map.Entry<Integer,String>> set = map.entrySet();
		for(Map.Entry<Integer,String> entry : set){
			int key = entry.getKey();
			String value = entry.getValue();
			
			System.out.println(key + ":" + value);
		}
	}
	
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值