2017-03-17 4 views
0

Je travaille dans la société de passerelle de paiement et tout en analysant le code je suis tombé objets ImmuatbleMap. Je veux connaître tous les détails sur. Qu'Est-ce que c'est? Quels sont ses avantages par rapport à la carte? Est-ce que core Java a son support pour ImmuatbleMap?Différence entre la carte et ImmutableMap

+3

Copie possible de [Qu'est-ce que l'on entend par immutable?] (Http://stackoverflow.com/questions/279507/what-is-meant-by-immutable) –

+3

Avez-vous lu ce https://github.com/ google/goyave/wiki/ImmutableCollectionsExplained? Je pense que votre question est trop large pour avoir été traitée ici. – RubioRic

+1

essayer ce lien http://stackoverflow.com/questions/8892350/immutable-vs-unmodifiable-collection –

Répondre

2

ImmutableMap s sont introduites dans Gava, elles sont conformes à l'API Map de Java, mais avec des garanties supplémentaires.

En bref:

  • vous ne pouvez pas ajouter, remplacer ou supprimer des entrées
    • ils sont « complètement immuable » si les objets d'entrée ne sont pas état mutable
    • en conséquence, ils sont thread-safe
  • null s sont interdits
  • (légèrement) plus de temps et de l'espace-efficace par rapport aux collections habituelles de Java
  • ordre d'itération est prévisible

Pour info complète voir Guava's guide et javadoc for ImmutableCollection qui applique aux cartes et d'autres collections immuables de Goyave.

+1

Vous pouvez ajouter un lien vers https://github.com/google/guava/wiki/ImmutableCollectionsExplained#why, qui mentionne également "des économies de temps et d'espace". – mfulton26

+1

fait, merci :) – rrobby86