Java carte.get(clé) - automatiquement ne put(clé) et du retour si la clé n'existe pas?

Je suis malade, sur le modèle suivant:

value = map.get(key);
if (value == null) {
    value = new Object();
    map.put(key, value);
}

Cet exemple ne fait qu'effleurer la surface de la surcharge de code à écrire quand vous avez imbriqué des cartes pour représenter une structure multidimensionnelle.

Je suis sûr que quelque chose quelque part existe pour éviter cela, mais mon Googler efforts a abouti à rien de pertinent. Des suggestions?

  • Par curiosité, l'Objet que vous voulez mettre, c'est juste un Objet, ou le type de varier? Aussi, est-il déjà créé ou devrait-il être créé uniquement si aucun objet n'existe déjà?
  • Le type est connu au moment de la compilation. Habituellement, c'est une Chaîne à la Carte (à la Carte)* en Entier.