亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Java Collectors.toMap的內存優化

Java Collectors.toMap的內存優化

開滿天機 2021-05-03 12:47:20
我有一個將列表轉換為地圖的函數。調用此函數后,地圖的大小不會改變。我正在嘗試在以下兩個實現之間做出決定:Map<Long, Object> listToMap(List<Object> objs) {        /* Implementation One: */        Map<Long, Object> map = new HashMap<>(objs.size(), 1);        for (Object obj : objs) {            map.put(obj.getKey(), obj);        }        return map;        /* Implementation Two: */        return objs.stream().collect(Collectors.toMap(Object::getKey, obj -> obj));    }在第一個實現中,我通過使用1的加載因子和列表的大小為所有元素分配了足夠的內存。這樣可以確保不會執行調整大小操作。然后,我遍歷該列表并一個接一個地添加元素。在第二種實現中,我使用Java 8流來提高可讀性。我的問題是:第二個實現是否會涉及HashMap的多個調整大小,或者是否已對其進行優化以分配足夠的內存?
查看完整描述

3 回答

  • 3 回答
  • 0 關注
  • 299 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號