performance opertion entre ArrayList ou simple chaîne

StaticCrazee:

Performance sage, est - il préférable d'utiliser ArrayLists pour stocker une liste de valeurs ou d' un String( en utilisant concat / +)? Intuitivement, je pense que Stringl exécuteraient mieux car il utiliserait probablement moins de frais généraux que ArrayLists mais je ne l' ai pas pu trouver quoi que ce soit en ligne.

En outre, les entrées ne seraient pas quelque chose de trop grand (~ 10).

KeyMaker00:

opérations ArrayList

Vous pouvez obtenir une valeur d'un ArrayListO (1) et ajouter une valeur en O (1). En outre, ArrayLista déjà accumulation dans les opérations qui vous aident à récupérer et ajouter des éléments.

Opérations sur les chaînes

Concaténation : Avec des opérations concat et tranche, ce sera pire. Une chaîne est grosso modo des tableaux de caractères. Par exemple, « Bonjour » + « Stack » peut être représentée sous forme de tableau ['H', 'e', 'l', 'l', 'o']et le réseau ['S', 't', 'a', 'c', 'k']. Maintenant, si vous voulez concaténer ces deux String, vous devrez tous les éléments combinés des deux tableaux. Il vous donnera un tableau de longueur 10. Par conséquent, la concaténation - ou la création de votre nouveau tableau de caractères - est en fonctionnement O(n + m).

Pire, si vous concatening n String, vous aurez une complexité O(n^2).

Fractionnement : la complexité du fractionnement d' une chaîne est généralement O(N)ou plus. Cela dépend de la regex vous donnerez pour la scission opération.

Les opérations avec Stringsont souvent pas lisibles et peuvent être Stricky à déboguer.

Longue histoire courte

Un ArrayListest généralement mieux que le fonctionnement avec String. Mais tout dépend de votre cas d'utilisation.

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=186509&siteId=1
conseillé
Classement