【Java 8 新特性】Java Map replace() 示例

您所在的位置:网站首页 diagram同义词替换 【Java 8 新特性】Java Map replace() 示例

【Java 8 新特性】Java Map replace() 示例

2023-07-08 19:11| 来源: 网络整理| 查看: 265

Java Map replace 示例 | 替换 Map 中指定 key 的值 参考文献

replace是java.util.Map的默认方法,在Java 8中被引入。

只有当指定的键当前被映射到某个值时,替换方法才会替换该键的入口值。

replace方法使用以下参数。

1. 替换指定键的值。

default V replace(K key, V value)

该key是需要更改其关联值的指定键。

该value是要放入的新值。

replace方法返回旧值,如果没有与指定键关联的值,则返回null。

2. 只有当指定的旧值与指定的键相关联的值相匹配时,才会用指定的键的新值替换该值。

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

key是需要更改其关联值的指定键。

oldValue是与指定键关联的旧值。

newValue是要放置的新值。

无论值的替换是否成功,replace方法都返回true/false。

如果指定的键没有关联的值,则不会进行替换,因此将返回false。

如果指定键的现有旧值与指定的旧值不匹配,则不进行替换,因此返回false。

例1:在本例中,我们使用HashMap。

Replace1.java

import java.util.HashMap; import java.util.Map; public class Replace1 { public static void main(String[] args) { Map studentMap = new HashMap(); studentMap.put(101, "Mahesh"); studentMap.put(102, "Suresh"); studentMap.put(103, "Krishna"); String oldValue = studentMap.replace(101, "Mr. Mahesh"); System.out.println(oldValue); //Mahesh System.out.println(studentMap.get(101)); //Mr. Mahesh boolean isReplaced = studentMap.replace(102, "Suresh", "Mr. Suresh"); System.out.println(isReplaced); //true System.out.println(studentMap.get(102)); //Mr. Suresh isReplaced = studentMap.replace(103, "Krishna11", "Mr. Krishna"); System.out.println(isReplaced); //false System.out.println(studentMap.get(103)); //Krishna } }

输出

Mahesh Mr. Mahesh true Mr. Suresh false Krishna

不使用replace方法也可以实现相同的效果。

Replace11.java

import java.util.HashMap; import java.util.Map; import java.util.Objects; public class Replace11 { public static void main(String[] args) { Map studentMap = new HashMap(); studentMap.put(101, "Mahesh"); studentMap.put(102, "Suresh"); studentMap.put(103, "Krishna"); int key1 = 101; if (studentMap.containsKey(key1)) { studentMap.put(key1, "Mr. Mahesh"); } System.out.println(studentMap.get(key1)); int key2 = 102; if (studentMap.containsKey(key2) && Objects.equals(studentMap.get(key2), "Suresh")) { studentMap.put(102, "Mr. Suresh"); } System.out.println(studentMap.get(key2)); } }

输出

Mr. Mahesh Mr. Suresh

例2:在本例中,我们使用的是LinkedHashMap。

Replace2.java

import java.util.LinkedHashMap; import java.util.Map; public class Replace2 { public static void main(String[] args) { Map numberMap = new LinkedHashMap(); numberMap.put(1, 100); numberMap.put(2, 200); numberMap.put(3, 300); numberMap.replace(1, numberMap.get(1) + 50); System.out.println(numberMap.get(1)); //150 numberMap.replace(2, 200, 250); System.out.println(numberMap.get(2)); //250 numberMap.replace(3, 301, 350); System.out.println(numberMap.get(3)); //300 } }

输出

150 250 300

例3:在本例中,我们使用TreeMap。

Replace3.java

import java.util.Map; import java.util.TreeMap; public class Replace3 { public static void main(String[] args) { Map treeMap = new TreeMap(); treeMap.put("Bharat", "Modi"); treeMap.put("Russia", "Putin"); treeMap.put("USA", "Trump"); String key1 = "Bharat"; treeMap.replace(key1, "Mr. Modi"); System.out.println(treeMap.get(key1)); //Mr. Modi String key2 = "Russia"; treeMap.replace(key2, "Putin", "Mr. Putin"); System.out.println(treeMap.get(key2)); //Mr. Putin String key3 = "USA"; treeMap.replace(key3, "", "Mr. Trump"); System.out.println(treeMap.get(key3)); //Trump } }

输出

Mr. Modi Mr. Putin Trump 参考文献

【1】Java doc: Map 【2】Java Map replace() Example



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3