Différence entre SparseArray Vs ArrayList?

Je veux connaître la performance et l'efficacité de SparseArray et ArrayList et celui qui est préférable d'utiliser. Je ne comprends pas quand utiliser SparseArray et ArrayList ?

  • Comment supprimer le diviseur inférieur du pied de page dans une liste de lecture Android
  • Quelle est la sortie d'avertissement "Ignorer l'entrée Intérieure" lors de la compilation?
  • "Impossible d'ouvrir le périphérique de journal" / dev / log / main ': Aucun fichier ou répertoire "
  • Les images vectorielles sont-elles utiles pour Android?
  • CardView layout_margin ne fonctionne pas
  • Comment aligner ImageView vers le bas, remplir sa largeur et sa hauteur et garder son rapport d'aspect?
  • 2 Solutions collect form web for “Différence entre SparseArray Vs ArrayList?”

    Le but d'un SparseArray est d'économiser de la mémoire si vous avez une liste qui présente de nombreuses lacunes. Si vous avez seulement 10 éléments et que les nombres qui les indexent varient de 0 à 1000, une liste ArrayList aura beaucoup d'entrées null dans Et ce sera tout un gaspillage. Un SparseArray utilisera les structures de données en interne pour éviter ce problème.

    L'alternative dans cette situation est un HashMap , qui est mieux qu'un SparseArray si vous avez beaucoup d'objets.

    La mise en œuvre n'est pas destinée à être appropriée pour les structures de données qui peuvent contenir un grand nombre d'éléments. Il est généralement plus lent qu'un HashMap traditionnel, car les recherches requièrent une recherche binaire et ajoute et supprime nécessite l'insertion et la suppression d'entrées dans le tableau. Pour les contenants contenant jusqu'à des centaines d'articles, la différence de performance n'est pas significative, inférieure à 50%.

    À partir de la documentation de développeur Android .

    SparseList implémente un SparseArray . Cette classe est identique à java.util.ArrayList , sauf qu'elle permet l'affectation à des index de tableaux qui dépassent la longueur actuelle de la liste, en utilisant les méthodes set() et add() attendues. *

    Je pense qu'il y a tout ce que vous devez savoir pour comprendre lequel utiliser.

    SparseList est également plus efficace

    Plus d'infos ici

    coAndroid est un fan Android de Google, tout sur les téléphones Android, Android Wear, Android Dev et Android Games Apps.