Différence entre Arraylist et Linkedlist

Quelle est la différence entre Arraylist et Linkedlist ? – ArrayList et LinkedList, les deux implémentent l’interface List et maintiennent l’ordre d’insertion. Les deux sont des classes non synchronisées, et leurs méthodes sont presque identiques. Cependant, il y a quelques différences entre eux.
 
 

Définition de Arraylist
Différence entre Arraylist et Linkedlist

 

ArrayList implémente le concept d’un tableau dynamique, Arraylist maintient les index comme un tableau. Donc, si vous voulez effectué des opérations get() plus que put(), Arraylist est préférable. Regardons un exemple simple où nous utilisons ArrayList.
 

import java.util.*;    

class TestArray{    
  public static void main(String args[]){    

    //Créer un objet arraylist  
    List<String> arr = new ArrayList<String>();  

    //Ajouter un objet dans arraylist  
    arr.add("Alex");  
    arr.add("Bob");    
    arr.add("Thomas");    
    arr.add("Emily");       
    
    System.out.println("ArrayList: "+arr);    
  }    
}    

La sortie
==========
ArrayList: [Alex,Bob,Thomas,Emily]
Top 10 des questions en JAVATop 10 des questions sur JAVA les plus difficiles en entretien avec les réponsesLes questions pouvant être posées par des recruteurs sont nombreuses. Ce sont quelques-unes des questions les plus fréquemment posées. Prenez le temps de lire ces…Lire plus
Définition de Linkedlist
Différence entre Arraylist et Linkedlist

 

LinkedList implémente le concept de liste doublement chaînée. LinkedList maintien les pointeurs sur les éléments. vous ne pouvez pas accéder à un index spécifique comme dans Arraylist. Mais l’avantage de LinkedList est qu’elle n’a pas besoin de se déplacer comme dans l’Arraylist pour maintenir les indices continus. Donc, les opérations dans LinkedList sont coûteuses, car vous devrez passer par des pointeurs pour atteindre vos éléments, par contre les opérations put() ne sont pas coûteuses par rapport à Arraylist. Regardons un exemple simple où nous utilisons LinkedList.

import java.util.*;    

class TestArray{    
  public static void main(String args[]){    
         
    //Créer un objet Linkedlist  
    List<String> arr = new LinkedList<String>();
 
    //Ajouter un objet dans linkedlist    
    arr.add("James"); 
    arr.add("Sementa");    
    arr.add("Jenata");    
    arr.add("Mario");    
    
    System.out.println("LinkedList: "+arr);  
  }    
}    

La sortie
==========
LinkedList: [James,Sementa,Jenata,Mario]
Différence entre Arraylist et HashsetDifférence entre Arraylist et HashsetQuelle est la différence entre Arraylist et Hashset ? – La différence clé entre ArrayList et HashSet est la suivante: ArrayList est une implémentation de List.…Lire plus

 

Table de comparaison
ArraylistLinkedlist
1)ArrayList utilise un tableau dynamique pour stocker les éléments.LinkedList utilise une liste doublement chaînée pour stocker les éléments.
2)La manipulation avec ArrayList est lente car elle utilise en interne un tableau. Si un élément est supprimé du tableau, tous les bits sont déplacés en mémoire.La manipulation avec LinkedList est plus rapide que ArrayList, car elle utilise une liste doublement chaînée, de sorte qu’aucun décalage de bit n’est requis en mémoire.
3)La classe ArrayList peut uniquement servir de liste car elle implémente uniquement List.La classe LinkedList peut servir de liste et de file car elle implémente les interfaces List et Deque.
4)ArrayList est préférable pour stocker et accéder aux données.LinkedList est préférable pour manipuler des données.

 

Quand utiliser LinkedList et quand utiliser ArrayList?
  • Comme expliqué ci-dessus, les opérations d’insertion et de suppression donnent de bonnes performances dans LinkedList par rapport à ArrayList. Par conséquent, s’il est nécessaire d’ajouter et de supprimer fréquemment dans l’application, LinkedList est le meilleur choix.
  • Les opérations de recherche (méthode get) sont rapides dans Arraylist par rapport à LinkedList. Si les opérations d’ajout et de suppression sont moindres, ArrayList serait votre meilleur choix.

Nous avons donc couvert la différence entre Arraylist et LinkedList dans java. Si vous avez d’autres questions, N’hésitez pas à nous laisser vos commentaires !
 
 

Partagez cet article

Une réflexion sur “Différence entre Arraylist et Linkedlist

  • Avatar
    février 7, 2020 à 10:31
    Permalien

    C’est une explication fausse.
    les opérations d’insertion et de suppression au milieu donnent de bonnes performances dans LinkedList. Parce-que si on insert ou supprime les éléments de début ou de la fin des ArrayList la duration des actions sont « constants ».

    Répondre

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *