[英]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.