Maison > Questions et réponses > le corps du texte
高洛峰2017-04-18 10:43:08
Il n'est pas recommandé d'utiliser la méthode ArrayList pour stocker les clés en nombres pairs et stocker les valeurs en nombres impairs. Cela va à l'encontre de la logique générale de la façon dont nous écrivons du code et causera également de gros problèmes aux futurs responsables. De plus, les performances des téléphones mobiles sont aujourd’hui très bonnes. Dans votre scénario d’utilisation, il n’est pas nécessaire de prendre en compte les problèmes de performances.
大家讲道理2017-04-18 10:43:08
Dans le cas où la quantité de données que vous avez mentionnée est inférieure à 10, la différence entre ArrayList<String> et HashMap<String, String> d'un niveau technique, c'est trop long. Deux phrases ^.^
ArrayList est une collection ordonnée, et sa couche inférieure est en fait un tableau si elle est parcourue et stockée, elle est toujours plus rapide que HashMap, mais son ajout et sa suppression seront plus lents, en particulier l'ajout et la suppression à partir du milieu de la collection. liste (lointain) )
HashMap est une table de hachage non ordonnée, et son ordre de requête est directement lié à la quantité de données. Pour faire simple, plus la quantité de données est grande, plus la requête est lente !
Résumé :
Petites données : Les deux peuvent être utilisées.
Big data : ArrayList est fréquemment utilisé pour les requêtes et HashMap est utilisé pour les ajouts, suppressions et modifications fréquents.
Données très volumineuses : utilisez ArrayList ;
巴扎黑2017-04-18 10:43:08
Cela dépend de la façon dont vous l'utilisez. Si vous stockez et parcourez simplement la liste, c'est plus rapide. Si vous souhaitez vérifier la valeur par clé, Map est plus rapide
.PHPz2017-04-18 10:43:08
Bien que je ne sache pas pourquoi vous souhaitez comparer List<String> et Map<String, String>, laquelle est la plus rapide en termes de stockage ? Il existe différentes classes d'implémentation pour ces deux interfaces, telles que ArrayList et LinkedList, qui sont très différent. HashMap, TreeMap, LinkedHashMap, WeakHashMap, IdentityHashMap ont des comportements de classe d'implémentation, une efficacité, des cycles de stockage d'objets et des stratégies d'équivalence de clés très différents. Traitez-le simplement comme si je ne répondais pas/(ㄒoㄒ)/~~<🎜. >
高洛峰2017-04-18 10:43:08
Les performances ont été expliquées très clairement à l'étage.
Si les données stockées sont inférieures à 10, vous pouvez directement spécifier la valeur maximale de 10 lors de la déclaration, ce qui peut économiser de l'espace mémoire.
List<String> list = new ArrayList<>(10);
Map<String, String> map = new HashMap<>(10);