再次出发:JDK1.8中Map新特性

JDK1.8中Map新特性

import java.util.HashMap;
import java.util.Map;

/**
 * JDK1.8中Map新特性
 * 
 * @author 25316
 *
 */
public class test02 {

	public static void main(String[] args) {
		Map<Integer, String> map = new HashMap<>();
		map.put(1, "Tom");
		map.put(2, "Jack");
		map.put(3, "Lily");

		// 当key没有时,使用getOrDefault方法,不用判断空
		String str = map.getOrDefault(4, "null");
		System.out.println(str);
		
		//当key相同已有,使用putIfAbsent方法可以不覆盖key和value,如果直接添加会覆盖value
//		map.put(3, "lei");
//		map.forEach((key,value)->System.out.println(key+"->"+value));覆盖value
		map.putIfAbsent(3, "lei");
		map.forEach((key,value)->System.out.println(key+"->"+value));
		
		System.out.println("--------");
		//replace方法,覆盖掉已有key的value
		map.replace(3, "wu");
		map.replace(2, "Jack", "zhi");//必须传入老value,否则覆盖不成功
		map.forEach((key,value)->System.out.println(key+"->"+value));
		
		System.out.println("--------");
		//compute方法,拼接value
		map.compute(7, (key,value)->value+"1");//如果key为空,则结果为7->null1
		map.computeIfAbsent(5, (value)->value+"test");//仅当key为空时处理,否则处理
		map.forEach((key,value)->System.out.println(key+"->"+value));
		
		
		

	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值