A HashMap
consente solo una chiave null
. È perché consente solo chiavi univoche? O c'è un'altra ragione?
Perché è confuso? Il javadoc per HashMap.put
indica chiaramente:
Associates the specified value with the specified key in this map. If the map previously contained a mapping for the key, the old value is replaced.
Indica chiaramente cosa succede quando fai un put
con una chiave che era già nella mappa. Il caso specifico di key == null si comporta allo stesso modo: non è possibile avere due mapping diversi per la chiave nulla (proprio come non è possibile per qualsiasi altra chiave). Non è un caso speciale, per il contesto della tua domanda.