Java Map 常見用法舉例


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

public class BasicHashMap {

    public static void main(String[] args) {

        // 新建map
        Map<String, Integer> fstMap =  new HashMap<>();

        // 存值
        fstMap.put("a", 1);
        fstMap.put("b", 2);
        fstMap.put("c", 3);
        fstMap.put("d", 4);

        System.out.println("=== fstMap 輸出 ===");
        System.out.println(fstMap);

        Map<String, Integer> sndMap = new HashMap<>();

        sndMap.put("ab", 1);
        sndMap.put("cd", 2);

        System.out.println("=== aMap.putAll(bMap) ===");
        sndMap.putAll(fstMap);
        System.out.println("合並后的sndMap");
        System.out.println(sndMap);
        System.out.println("合並后的fstMap剩余");
        System.out.println(fstMap);

        System.out.println("=== map.getOrDefault(aKey, dV), 有akey則返回相應的值,否則返回dV ===");
        System.out.println(sndMap.getOrDefault("ab", 3));
        System.out.println(sndMap.getOrDefault("m", 3));
        System.out.println(sndMap);

        System.out.println("=== map.put(aKey) 重復key===");
        System.out.println("map put重復值,會先做get,返回對應值,再put;沒有重復值,直接put,返回null");
        System.out.println(sndMap.put("a", 5));
        System.out.println(sndMap.put("z", 10086));
        System.out.println(sndMap);

        System.out.println("=== map.remove(aKey) VS map.remove(aKey, aValue) ===");
        System.out.println("map remove(akey)操作:如果有akey,先get返回對應的值,再delete; 否則,返回null");
        System.out.println(sndMap.remove("a"));
        System.out.println(sndMap.remove("m"));
        System.out.println("map remove(aKey, aValue)操作,返回true or false,以表明是否remove成功");
        System.out.println(sndMap.remove("b", 2));
        System.out.println(sndMap.remove("m", 8));
        System.out.println(sndMap);

        System.out.println("=== map.clear() ===");
        sndMap.clear();
        System.out.println(sndMap);

    }
}

out:

=== fstMap 輸出 ===
{a=1, b=2, c=3, d=4}
=== aMap.putAll(bMap) ===
合並后的sndMap
{ab=1, cd=2, a=1, b=2, c=3, d=4}
合並后的fstMap剩余
{a=1, b=2, c=3, d=4}
=== map.getOrDefault(aKey, dV), 有akey則返回相應的值,否則返回dV ===
1
3
{ab=1, cd=2, a=1, b=2, c=3, d=4}
=== map.put(aKey) 重復key===
map put重復值,會先做get,返回對應值,再put;沒有重復值,直接put,返回null
1
null
{ab=1, cd=2, a=5, b=2, c=3, d=4, z=10086}
=== map.remove(aKey) VS map.remove(aKey, aValue) ===
map remove(akey)操作:如果有akey,先get返回對應的值,再delete; 否則,返回null
5
null
map remove(aKey, aValue)操作,返回true or false,以表明是否remove成功
true
false
{ab=1, cd=2, c=3, d=4, z=10086}
=== map.clear() ===
{}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM