Différence entre ArrayList et HashMap en Java
ArrayList et HashMap sont des classes de collection couramment utilisées en Java. Bien que les deux fassent partie du framework collection, la manière dont ils stockent et traitent les données est totalement différente. Dans cet article, nous allons voir la différence clé entre ces deux collections.
Table de comparaison
HashMap | ArrayList | |
---|---|---|
Implémentation | Map | List |
Stockage d’objets | Deux objets: clé/valeur | Stocke un seul objet: valeur |
Les doublons | Clé unique, valeurs en double | Permettre les doublons |
Ordre | Non ordonné | Maintient l’ordre |
Valeur Null | HashMap autorise une clé NULL et un nombre quelconque de valeurs NULL. | ArrayList peut avoir un nombre quelconque d’éléments nuls. |
Méthode get() | Les éléments sont récupérés en spécifiant la clé correspondante. | Nous pouvons obtenir l’élément en spécifiant son index. |
import java.util.*; public class ArrayListExemple { public static void main(String[] args) { ArrayList tutoJava = new ArrayList(); tutoJava.add("Java"); tutoJava.add("C++"); tutoJava.add("PHP"); System.out.println("Les éléments de ArrayList :"+ tutoJava); } }
La sortie:
Les éléments de ArrayList: [Java, C++, PHP]
Exemple de HashMap:
import java.util.*; public class HashMapExemple { public static void main(String[] args) { HashMap tutoJava = new HashMap(); tutoJava.add(1, "Java"); tutoJava.add(2, "C++"); tutoJava.add(3, "PHP"); System.out.println("Les éléments de HashMap :"+ tutoJava); } }
La sortie:
Les éléments de HashMap: {1 = Java, 2 = C++, 3 = PHP}
Conclusion
Dans HashMap, nous avons des paires clé / valeur. Pour accéder à une valeur, il fallait connaître la clé. Il existe une relation entre la clé et la valeur qui est persistant et n’est pas arbitraire. Ils sont liés en quelque sorte. Alors dans ArrayList, tout ce que nous avons sont des valeurs, et pour y accéder, nous devons connaître sa position dans la liste (index). Mais il n’y a pas de relation permanente entre la position de la valeur dans la liste et son index, c’est arbitraire.