Quels types de types de données sont autorisés à utiliser comme clés dans les cartes de Java? Est-ce correct d'utiliser un double? Que diriez-vous d'une chaîne?Java - Types de données utilisés comme clés dans les cartes
Répondre
Vérifiez l'API car il peut y avoir des limitations sur les types autorisés pour les clés en fonction de la carte spécifique. En outre, vous ne pouvez utiliser que des types de référence mais pas des types primitifs. Donc le double ne fonctionnera pas, mais Double est bien. Enfin, la clé ne doit de préférence pas être mutable car cela peut entraîner un comportement aberrant.
doubles
ne fonctionnera pas, car ils sont de type primitif, c'est-à-dire que vous ne pouvez pas définir une carte Map<double,String>
. Toutefois, vous pouvez définir Map<Double,String>
puis utiliser une valeur double pour la méthode put
(grâce à l'auto-numérisation). La mise en garde d'un objet abitable dans une carte est que, à moins que les méthodes equal
et hashcode
soient remplacées, l'égalité est basée sur des références, ce qui peut ne pas être le comportement souhaité. (Vous pourriez donc vous retrouver avec deux entrées, où vous n'en attendriez qu'une seule.)
Vous pouvez utiliser n'importe quel type d'objet. Mais pour obtenir un comportement correct, le type doit avoir des fonctions hashCode() et equals() correctement implémentées.
Donc, si vous voulez utiliser double
vous devriez plutôt utiliser Double
et à cause de la boxe et unboxing vous pouvez réellement passer double
valeurs aux fonctions telles que add()
etc.
Pour une touche, vous pouvez utiliser toute Object
qui est unique à votre ensemble de données. Vous ne pouvez pas utiliser int
ou double
mais vous pouvez utiliser Integer
ou Double
. Veuillez noter qu'une clé ne peut avoir qu'une seule valeur, d'où l'exigence d'un objet unique. Si vous ajoutez la même touche deux fois la deuxième valeur sera stockée dans la Map
vous devez utiliser un objet
si vous souhaitez utiliser le double, vous pouvez utiliser la classe wrapper Double vous ne pouvez pas utiliser le type de données primitive comme int ou long ou double si vous souhaitez utiliser un, vous pouvez chercher la classe wrapper qui le représentent
chaîne est Okey car il est une classe
types de données primitives ne sont pas autorisés, mieux vous classe wrapper pour stocker vos données sur la carte. De plus, jusqu'à ce que vous remplaciez votre méthode d'égalité et de code de hachage, l'utilisation de map n'est pas très utile.
- 1. Types de données complexes en tant que clés dans les cartes dans Go
- 2. Types de données utilisés dans C
- 3. Ne pas répéter les types utilisés comme paramètres de gabarit
- 4. Java: comment fusionner les clés de deux cartes?
- 5. Les champs sont utilisés comme des types C# Visual Studio
- 6. Cartes Java, allant des valeurs aux clés
- 7. SQL Server: types de données les plus couramment utilisés?
- 8. Découverte des types de clés dans PGP
- 9. Comment traiter les clés de HashMap comme optionnelles dans java
- 10. Java confondant les types de données primitifs?
- 11. Comment trouver toutes les clés dans un ensemble de cartes?
- 12. Comment obtenir les noms de tables utilisés clés étrangères
- 13. coin comme dans les cartes App
- 14. Valeur d'entrée Java dans les types de données non-primitifs
- 15. Imbrication de cartes dans Java
- 16. Accès aux arguments de type à partir des types génériques utilisés dans les types de caractères
- 17. "Les types utilisés dans une fonction sont des littéraux"?
- 18. Comment utiliser les éléments d'une base de données comme les clés de hachage/les clés du dictionnaire/les clés primaires?
- 19. stocker des mots-clés dans un ensemble et les lire en utilisant des cartes Java
- 20. Comparer les types de clés pour SortedDictionary
- 21. Comment implémenter les types de données haskell dans java?
- 22. golang: accéder rapidement aux données des cartes dans les cartes
- 23. Les types génériques peuvent-ils être utilisés comme "type" de l'étiquette d'attribut d'un composant composite?
- 24. API de cartes alternatives (comme Google Maps)
- 25. Java iBatis disparus dans les mots-clés
- 26. Hiérarchie des types dans les annotations Java
- 27. Utilisation de types de données set/list pour les clés intermédiaires dans Hadoop
- 28. Depuis les tables Lua vers les types de données Java
- 29. Quelles sont les ressources ou les outils utilisés pour gérer les données temporelles dans les magasins de valeurs-clés?
- 30. Python: recherche des types de clés dans les locals()