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:java

=== 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() ===
{}
相關文章
相關標籤/搜索