Java遍历map

以下代码记录了java的构造函数的使用,以及遍历map的4种方法,本人通常使用第四种方法。

 

package map;

import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.Map.Entry;

public class ErgodicMap {
	
	Map<String,Integer> map = new HashMap<String, Integer>();
	
	/**
	 * 定义构造方法,构造方法的特点如下:
	 (1)构造方法的方法名必须与类名相同。
 (2)构造方法没有返回类型,也不能定义为void,在方法名前面不声明方法类型。
 (3)构造方法的主要作用是完成对象的初始化工作,它能够把定义对象时的参数传给对象的域。
 (4)构造方法不能由编程人员调用,而要系统调用。
 (5)一个类可以定义多个构造方法,如果在定义类时没有定义构造方法,则编译系统会自动插入一个无参数的默认构造器,这个构造器不执行任何代码。
 (6)构造方法可以重载,以参数的个数,类型,或排列顺序区分。
	 */
	public ErgodicMap(){
		map.put("a", 1);
		map.put("b", 2);
		map.put("c", 3);
		map.put("d", 4);
	}
	
	/**
	 * 遍历方法1
	 */
	public void method1(){
		System.out.println("遍历Map的方法一:HashMap的entrySet()方法遍历");
		Iterator<Entry<String, Integer>> iterator = map.entrySet().iterator();
		while(iterator.hasNext()){
			Map.Entry<String, Integer> entry = (Entry<String, Integer>) iterator.next();
			String key = entry.getKey();
			int value = entry.getValue();
			System.out.println("========Key======"+key + "========Value====="+value);
		}
	}
	
	/**
	 * 遍历方法2
	 */
	public void method2(){
		System.out.println("遍历Map的方法二:利用foreach循环遍历");
		for(Map.Entry<String, Integer> entry:map.entrySet()){
			String key = entry.getKey();
			int value = entry.getValue();
			System.out.println("========Key======"+key + "========Value====="+value);
		}
	}
	
	/**
	 * 遍历方法3
	 */
	public void method3(){
		System.out.println("遍历Map的方法三:使用HashMap的keySet()方法遍历");
		//遍历Map中的key
		for(Iterator<String> i = map.keySet().iterator(); i.hasNext();){
			String key = i.next();
			//循环输出key
			System.out.println("========Key======"+key);
			//输出key和value
			System.out.println("========Key======"+key + "=======Value======="+map.get(key));
		}
		//遍历Map中的value
		for(Iterator<Integer> i = map.values().iterator(); i.hasNext();){
			int value = i.next();
			//循环输出value
			System.out.println("=======Value======="+value);
		}
	}
	
	/**
	 * 遍历方法4(通常使用的方法)
	 */
	public void method4(){
		System.out.println("遍历Map的方法四:使用Tree的keySet()方法遍历");
		for(String key:map.keySet()){
			System.out.println("========Key======"+key + "=======Value======="+map.get(key));
		}
	}
	
	public static void main(String[] args) {
		ErgodicMap ergodicMap = new ErgodicMap();
		//ergodicMap.method1();
		//ergodicMap.method2();
		//ergodicMap.method3();
		ergodicMap.method4();
	}
}
Java中,有多种方式可以遍历Map对象。其中,使用Stream流遍历Map是JDK8推荐的写法,但需要注意避免重复计算。可以使用以下代码实现Stream流遍历Mapmap.entrySet().stream().forEach((Map.Entry<Integer, String> entry) -> { System.out.println(entry.getKey()); System.out.println(entry.getValue()); }); 另外,在JDK8以下的版本中,可以使用foreach遍历方式来遍历Map。可以使用以下代码实现foreach遍历Map: for(Map.Entry<Integer,String> entry:map.entrySet()){ System.out.println(entry.getKey()); System.out.println(entry.getValue()); } 需要注意的是,在以上代码中,map是一个具体的Map对象,需要根据实际情况进行替换。引用提供了使用Stream流遍历Map的代码示例,引用提供了使用foreach遍历Map的代码示例,引用提供了创建一个HashMap对象的代码示例。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [Java遍历Map五种方法](https://blog.youkuaiyun.com/HcJsJqJSSM/article/details/109017247)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [Java遍历Map集合的5种方式总结](https://blog.youkuaiyun.com/wufaqidong1/article/details/119970384)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值