1. 程式人生 > >Map | put與putIfAbsent區別

Map | put與putIfAbsent區別

  • 區別:

    put在放入資料時,如果放入資料的key已經存在與Map中,最後放入的資料會覆蓋之前存在的資料;

    putIfAbsent 如果傳入key對應的value已經存在(注意這裡,因為Map 中value可以為null,但是,這裡如果value為null,會當作value值不存在處理),就返回存在的value,不進行替換。如果不存在(包括value為null),就新增key和value,返回null;

 public static void main(String[] args) {
        Map<String, String> map1 = new HashMap<String, String>(){{
            put("1", null);
            put("2", "b");
            put("3", "c");
        }};
        map1.putIfAbsent("1","abcdefj")
        System.out.println(map1);
        
        }
返回結果:
{1=abcdefj, 2=b, 3=c}