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 ?

  • Créez des erreurs avec la dépendance du convertisseur d'objet Java à java dans build.gradle pour la rénovation
  • Aligner le bord gauche au centre - RelativeLayout
  • Bibliothèque PDF pour Android - PDFBox?
  • En utilisant le "cercle animé" dans un ImageView pendant le chargement des choses
  • La mise en œuvre d'onShowCustomView sur Android 3.1 lance une exception dans HTML5VideoFullScreen
  • Comment obtenir le nombre de noyaux d'un périphérique Android
  • 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.