簡體   English   中英

Java 向 Map 添加新元素時出現問題<integer, list<integer> ></integer,>

[英]Java Problem with adding new elements to Map<Integer, List<Integer>>

我有 Map <Integer, List> 其中 Integer 是關鍵(建築樓層),List 是樓層上人員的價值。我需要將人員添加到特定樓層的列表中,但是當我嘗試添加人員時我堅持使用那個 cos到地板列表我的 Map 將所有列表更新為所有鍵;(我需要一些幫助請

        for(Map.Entry<Integer, List<Integer>> entry : deliveredPassengerMap.entrySet()) {
            if (entry.getKey() == passenger){
                entry.getValue().add(passenger);
                }
            }
        System.out.println("=====Delivered Passenger Map=====");
        System.out.println(deliveredPassengerMap);
    }

我認為你應該使用更簡單的方法來做到這一點。

Optional<List<Integer>> floor = Optional.ofNullable(deliveredPassenger.get(flr));
floor.ifPresent(passengers -> {
  passengers.add(passenger);
  deliveredPassenger.put(flr, passengers);
});

謝謝大家。 問題出在 Map 的初始化上。我有相同的鍵列表鏈接。 這是我的錯誤。 我必須寫 put(i, new ArrayList<>()); 而是放(我,列表);

public void initUnloadPassengersMap(int buildingLevels) {
       for (int i = 0; i < buildingLevels; i++) {
           deliveredPassengerMap.put(i, new ArrayList<>());
       }
   }

   ```   
   

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM