Il existe des méthodes utilitaires pour créer ImmutableMap
comme Immutable.of(Key, value)
et sa surcharge.
Mais de telles méthodes n'existent pas pour HashMap
ou LinkedHashMap
dans la classe Maps
.
Y a-t-il une meilleure façon de faire cela ou Guava suppose qu'une telle carte est toujours une carte constante et que ImmutableMap
est la meilleure option et ne nécessite pas de fournir un utilitaire pour HashMap
.
Essayez Maps.newHashMap(ImmutableMap.of(...))
ImmutableMap.of()
renvoie une carte immuable basée sur le hachage sans ordre.
Si vous avez besoin d'une carte immuable commandée, ImmutableSortedMap.of()
est un choix.
ImmutableSortedMap fournit des méthodes telles que firstKey()
, lastKey()
, headMap(K)
et tailMap(K)
;
Les deux classes fournissent la méthode copyOf(Map)
.
ne pouvez-vous pas utiliser la méthode copyOf
de ImmutableMap
décrite ici ?
ça devrait être quelque chose comme
Map newImmutableMap = ImmutableMap.copyOf(yourMap);