Różnica Między ArrayList I LinkedList

Spisu treści:

Różnica Między ArrayList I LinkedList
Różnica Między ArrayList I LinkedList

Wideo: Różnica Między ArrayList I LinkedList

Wideo: Różnica Między ArrayList I LinkedList
Wideo: Listy w Javie. Jak używać? Różnica między ArrayList i LinkedList 2024, Listopad
Anonim

Kluczowa różnica - ArrayList vs LinkedList

Kolekcje są przydatne do przechowywania danych. W normalnej tablicy rozmiar tablicy jest stały. Czasami wymagane jest tworzenie tablic, które mogą rosnąć w razie potrzeby. Języki programowania, takie jak Java, mają kolekcje. Jest to framework z zestawem klas i interfejsów. Służy jako pojemnik na grupę elementów. Kolekcje pozwalają na przechowywanie, aktualizację, pobieranie zestawu elementów. Pomaga w pracy ze strukturami danych, takimi jak listy, zbiory, drzewa i mapy. Lista jest interfejsem struktury kolekcji. ArrayList i LinkedList to dwie klasy w ramach kolekcji. Implementują interfejs kolekcji i interfejs listy. W tym artykule omówiono różnicę między ArrayList i LinkedList. ArrayList to klasa, która rozszerza AbstractList i implementuje interfejs List, który wewnętrznie używa tablicy dynamicznej do przechowywania elementów danych. LinkedList to klasa, która rozszerza AbstractSequentialList i implementuje interfejsy List, Deque i Queue, które wewnętrznie używają podwójnie połączonej listy do przechowywania elementów danych. To jest kluczowa różnica między ArrayList i LinkedList.

ZAWARTOŚĆ

1. Przegląd i kluczowe różnice

2. Co to jest ArrayList

3. Co to jest LinkedList

4. Podobieństwa między ArrayList i LinkedList

5. Bezpośrednie porównanie - ArrayList vs LinkedList w formie tabelarycznej

6. Podsumowanie

Co to jest ArrayList?

Klasa ArrayList służy do tworzenia tablic dynamicznych. W przeciwieństwie do zwykłej tablicy, rozmiar tablicy dynamicznej nie jest ustalony. Obiekt utworzony za pomocą klasy ArrayList może przechowywać zestaw elementów na liście. Pojemność wzrasta automatycznie, więc programista może dodawać elementy do listy. Klasa ArrayList stanowi rozszerzenie klasy AbstractList, która implementuje interfejs List. Dlatego metody interfejsu List mogą być używane przez ArrayList. Aby uzyskać dostęp do elementów, używana jest metoda get (). Do dodawania elementów do listy można użyć metody add (). Metoda remove () służy do usuwania elementu z listy. Zapoznaj się z poniższym programem.

Różnica między ArrayList i LinkedList
Różnica między ArrayList i LinkedList

Rysunek 01: Przykład ArrayList

Zgodnie z powyższym programem tworzony jest obiekt ArrayList. Korzystając z metody add, elementy można dodawać dynamicznie. Elementy „A”, „B”, „C”, „D” i „E” dodaje się metodą add. Metoda remove służy do usuwania elementu z listy. Po przekazaniu 4 do metody remove, litera w czwartym indeksie, czyli „E”, jest usuwana z listy. Podczas iteracji po liście przy użyciu pętli for, zostaną wydrukowane litery A, B, C i D.

Co to jest LinkedList?

Podobnie jak ArrayList, LinkedList służy do dynamicznego przechowywania elementów danych. Obiekt utworzony za pomocą klasy LinkedList może przechowywać zestaw elementów na liście. Pojemność wzrasta automatycznie, więc programista może dodawać elementy do listy. Wewnętrznie używa podwójnie połączonej listy do przechowywania danych. Na podwójnie połączonej liście dane są przechowywane jako węzły. Każdy węzeł zawiera dwa łącza. Pierwsze łącze wskazuje na poprzedni węzeł. Następne łącze wskazuje na następny węzeł w sekwencji.

Klasa LinkedList rozszerza klasę AbstractSequentialList i implementuje interfejs List. Dlatego metody interfejsu List mogą być używane przez obiekt LinkedList. Do uzyskania dostępu do elementów listy można użyć metody get (). Do dodawania elementów do listy można użyć metody add (). Metoda remove () służy do usuwania elementu z listy. Zapoznaj się z poniższym programem.

Kluczowa różnica między ArrayList i LinkedList
Kluczowa różnica między ArrayList i LinkedList

Rysunek 02: Przykład z LinkedList

Zgodnie z powyższym programem tworzony jest obiekt LinkedList. Korzystając z metody add, elementy można dodawać dynamicznie. Elementy „A”, „B”, „C”, „D” i „E” dodaje się metodą add. Metoda remove służy do usuwania elementu z listy. Przekazując 4 do metody remove, litera w czwartym indeksie, czyli „E”, usuwa się z listy. Podczas iteracji za pomocą pętli for zostaną wydrukowane litery A, B, C i D.

Jakie są podobieństwa między ArrayList i LinkedList?

  • Zarówno ArrayList, jak i LinkedList implementują interfejs List.
  • Zarówno ArrayList, jak i LinkedList mogą zawierać zduplikowane elementy.
  • Zarówno ArrayList, jak i LinkedList obsługują kolejność wstawiania.

Jaka jest różnica między ArrayList a LinkedList?

Porównaj środek artykułu przed tabelą

ArrayList vs LinkedList

ArrayList to klasa, która rozszerza AbstractList i implementuje interfejs List, który wewnętrznie używa tablicy dynamicznej do przechowywania elementów danych. LinkedList to klasa, która rozszerza AbstractSequentialList i implementuje interfejsy List, Deque, Queue, które wewnętrznie używają podwójnie połączonej listy do przechowywania elementów danych.
Dostęp do elementów
Dostęp do elementów ArrayList jest szybszy niż w przypadku LinkedList. Dostęp do elementów LinkedList jest wolniejszy niż w przypadku ArrayList.
Manipulowanie elementami
Manipulowanie elementami ArrayList jest wolniejsze niż w przypadku LinkedList. Manipulowanie elementami LinkedList jest szybsze niż w przypadku ArrayList.
Zachowanie
ArrayList działa jako lista. LinkedList działa jako lista i kolejka.

Podsumowanie - ArrayList vs LinkedList

Struktura kolekcji umożliwia pracę ze strukturami danych, takimi jak listy, drzewa, mapy i zbiory. Lista jest interfejsem struktury kolekcji. W tym artykule omówiono różnicę między ArrayList i LinkedList. ArrayList to klasa, która rozszerza AbstractList i implementuje interfejs List, który wewnętrznie używa tablicy dynamicznej do przechowywania elementów danych. LinkedList to klasa, która rozszerza AbstractSequentialList i implementuje interfejsy List, Deque, Queue, które wewnętrznie używają podwójnie połączonej listy do przechowywania elementów danych. Na tym polega różnica między ArrayList a LinkedList.

Zalecane: