getordefault java_Java map.getOrDefault()方法的用法详解

Map.getOrDefault(Object key, V defaultValue)方法的作用是:

当Map集合中有这个key时,就使用这个key值;

如果没有就使用默认值defaultValue。

代码示例如下:

HashMap map = new HashMap<>();

map.put("name", "cookie");

map.put("age", "18");

map.put("sex", "女");

String name = map.getOrDefault("name", "random");

System.out.println(name);// cookie,map中存在name,获得name对应的value

int score = map.getOrDefault("score", 80);

System.out.println(score);// 80,map中不存在score,使用默认值80

补充知识:java8中java.util.Map接口新增默认方法说明

###前言:

1.看了Map接口新增的几个默认方法,测试了一下用法。在这里分享一下;

###新增方法:

//若传入的key对应的value为null或者key不存在Map中,则返回defaultValue

1. default V getOrDefault(Object key, V defaultValue)

//遍历Map集合,方法比较爽,省的自己写迭代器了

2. default void forEach(BiConsumer super K, ? super V> action)

//全部修改map的value值,修改的值取决于传入Lambda的返回值

3. default void replaceAll(BiFunction super K, ? super V, ? extends V> function)

//若key对应的Value为空或者null,则使用value替代

4. default V putIfAbsent(K key, V value)

//若传入的value和map中key对应的value相等,则删除,返回true,否者,返回false

5. default boolean remove(Object key, Object value)

//oldValue和Map中key对应的value相等,或者Map不包含key,则返回false,否则想key,newValue存放进Map

6. default boolean replace(K key, V oldValue, V newValue)

oldValue和Map中key对应的value相等,或者Map不包含key,则返回false,否则想key,newValue替换进Map

7. default V replace(K key, V value)

8. default V computeIfAbsent(K key,

Function super K, ? extends V> mappingFunction)

9. default V computeIfPresent(K key,

BiFunction super K, ? super V, ? extends V> remappingFunction)

10. default V compute(K key,

BiFunction super K, ? super V, ? extends V> remappingFunction)

11. default V merge(K key, V value,

BiFunction super V, ? super V, ? extends V> remappingFunction)

以上这篇Java map.getOrDefault()方法的用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/563195.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java 复合_【福利】java新手做的复合型计算器!

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼先前用那个代码不走样说要审核,我这里不用那个来发代码import javax.swing.JFrame;import javax.swing.JPanel;import javax.swing.border.EmptyBorder;import javax.swing.JTextField;import java.awt.GridLayout;import javax.sw…

python模块如何导入解释器_无法从嵌入式解释器导入内置模块(仅限Windows)

这个问题看起来可能是一个重复的问题但我认为我的问题是不同的。我正在从一个MSVC编译的C应用程序运行Python 3.4解释器&#xff0c;并且我尝试使用PTVSD模块来调试更容易。到目前为止&#xff0c;我已经能够连接到Python Ipter&#xff0c;我从命令行开始&#xff0c;没有问题…

java方法的传递方式_JAVA基础--方法传参

JAVA基础--方法传参为啥拿这个当话题&#xff1f;在初学者阶段&#xff0c;许多童鞋都对方法传参比较迷茫&#xff0c;知其然不知其所以然。一.先说说参数传递的几个术语&#xff1a;值调用(call by vale):表示方法接收的是调用者传递的值。引用调用(call by reference):表示方…

java web spark_spark-微型的Java Web框架 Spark Framework

导读热词Spark是一个微型的Java Web框架&#xff0c;它的灵感来自于Sinatra&#xff0c;它的目的是让你以最小的代价创建出一个Java Web应用。Implement CORS in Spark -spark中如何处理跨域资源共享问题代码如下&#xff1a;// Enables CORS on requests. This method is an i…

java udp 协议_网络协议 - UDP 协议详解

网络协议 - UDP 协议详解 基于TCP和UDP的协议非常广泛&#xff0c;所以也有必要对UDP协议进行详解。pdai UDP概述UDP(User Datagram Protocol)即用户数据报协议&#xff0c;在网络中它与TCP协议一样用于处理数据包&#xff0c;是一种无连接的协议。在OSI模型中&#xff0c;在第…

java 8 foreach_Java 8 forEach Stream()与旧版forEach循环

我正在尝试使用Spring的示例代码.部分代码如下所示&#xff1b;private List points;long timeTakeninMilis System.currentTimeMillis();public List getPoints() {return points;}public void setPoints(List points) {this.points points;}public void drawJava8() {point…

java list 超出范围_java-列索引超出范围:2,列数1

我有这个表&#xff1a;学生CREATE TABLE IF NOT EXISTS Klas_student(Student varchar(7) REFERENCES studenten (Studentenummer) ON DELETE CASCADE NOT NULL,Klas text NOT NULL REFERENCES Klas (Naam_id) ON DELETE CASCADE NOT NULL);在此表格中,我想添加值,我使用prepa…

java 写入指定路径文件_java对指定目录下文件读写操作介绍 | 学步园

最近因为项目的国际化的需要&#xff0c;需要对整个项目的100来个插件做国际化&#xff0c;这是一件痛苦的事情&#xff0c;因为纯体力劳动。为了省点工作量&#xff0c;想着能不能写个程序批处理了&#xff0c;减少点工作量&#xff0c;于是就有了下面的代码。1.读取指定的(.j…

点击编辑框全选内容java_Android 中使用EditText 点击全选再次点击取消全选功能

最近在开发浏览器碰到这么一个需求&#xff1a;点击地址栏的时候&#xff0c;需要全选并调出键盘&#xff0c;再次点击就取消全选显示光标。点击屏幕除地址栏其他位置时&#xff0c;键盘隐藏&#xff0c;隐藏光标。大部分浏览器都是这样的逻辑&#xff0c;这样可以提高用户体验…

java数据加密解密代码_java使用RSA加密方式实现数据加密解密的代码

RSA的应用RSA是一种非对称加密算法。现在&#xff0c;很多登陆表单的密码的都采用RSA加密&#xff0c;例如京东中的登陆使用公钥对密码进行加密java使用RSA加密方式实现数据加密解密&#xff0c;需要首先产生私钥和公钥测试代码public static void main(String args[]){try {RS…

java线程卡住排查_基于 Java 线程栈 排查问题

除日志外&#xff0c;还有没有别的方式跟踪线上服务问题呢&#xff1f;或者&#xff0c;跟踪并排除日志里无法发现的问题&#xff1f;方法当然是有的&#xff0c;就是通过现场快照定位并发现问题。我们所说的现场&#xff0c;主要指这两方面&#xff1a;Java 线程栈。线程栈是J…

java实验二答案天津商业大学_天津商业大学信息安全实验一

天津商业大学信息安全实验一 1《信息安全技术》实 验 报 告 书实验名称&#xff1a; 实验一Internet应用风险专 业&#xff1a; 电子商务班 级&#xff1a; 1203班姓 名&#xff1a; 代常发学 号&#xff1a; 20124934指导老师&#xff1a; 丁雷信息工程学院2015 年 5 月2目 录…

java前端的日期插件_几个前端时间插件总结

几个前端时间插件总结总结一下几款时间插件&#xff0c;分别是- [ ] jeDate 手册http://www.jemui.com/jedate/- [ ] bootstrap-datetimepicker 下载地址- [ ] My97DatePicker 下载地址- [ ] jQuery UI 插件Datepicker下载地址并没有哪款完全超越另外一款&#xff0c;主要还是看…

t3s java_关于JAVA的this关键字

网上对this的描述很朦胧&#xff0c;有的说this表示的是当前对象自己&#xff0c;有的说this是当前对象的引用。可是自己写了如下的测试代码&#xff0c;产生了几个问题&#xff1a;1 public class T3AboutThis {23 public static void main(String[] args) {4 new…

Java插件自动保存浏览器书签_多浏览器书签同步插件EverSync

有时上网时会遇到浏览器不能正常显示的问题。(比如我的火狐浏览器无法正确显示微信公众号管理后台&#xff0c;在chrome上可以正常显示)&#xff0c;所以我的电脑里安装了chrome和firefox两个浏览器。但是时间长了&#xff0c;会出现两个浏览器上书签不同步的问题。原来自己的解…

java连接并操作redis_java 使用 jedis 连接 redis 并进行简单操作

packagetest;importjava.util.HashMap;importjava.util.Iterator;importjava.util.List;importjava.util.Map;importorg.junit.Test;importredis.RedisUtil;importredis.clients.jedis.Jedis;public classRedisTest {private RedisUtil redisUtil newRedisUtil();//字符串操作…

java将异常输出到日志_【ThinkingInJava】25、将异常输出记录到日志

/*** 书本:《Thinking In Java》* 功能:将异常输出记录到日志中。* 文件:LoggingExceptions.java* 时间:2015年4月8日21:11:51* 作者:cutter_point*/package Lesson12_error_handling_with_exceptions;import java.io.PrintWriter;import java.io.StringWriter;import java.uti…

2013年蓝桥杯软件大赛预赛java本科b组答案_2013年蓝桥杯软件大赛预赛C本科B组试题...

第四届“蓝桥杯”全国软件专业人才设计与创业大赛选拔赛结果题目标题: 高斯日记大数学家高斯有个好习惯&#xff1a;无论如何都要记日记。他的日记有个与众不同的地方&#xff0c;他从不注明年月日&#xff0c;而是用一个整数代替&#xff0c;比如&#xff1a;4210后来人们知道…

java script的trim_Javascript中实现trim()函数的两种方法

在JavaScript中我们需要用到trim的地方很多&#xff0c;但是JavaScript又没有独立的trim函数或者方法可以使用&#xff0c;所以我们需要自己写个trim函数来实现我们的目的。方案一&#xff1a;以原型方式调用&#xff0c;即obj.trim()形式&#xff0c;此方式简单且使用方面广泛…

hive mysql集群安装_HIVE完全分布式集群安装过程(元数据库: MySQL)

[rootnode01 mysql]# mysql -u hive -pEnter password:mysql> create database hive;Query OK, 1 row affected (0.00 sec)mysql> use hive;Database changedmysql> show tables;Empty set (0.00 sec)3)解压缩hive安装包tar -xzvf hive-0.9.0.tar.gz[hadoopnode01 ~]$…