Różnice między listą Java a listą macierzy

Java jest językiem dynamicznym i może być używana na dowolnej platformie. Zapewnia listę Java vs. ArrayList. Lista działa jak interfejs, a lista tablic jest implementacją listy. Interfejs listy składa się z metod. Te metody są zawarte w klasie listy Array z kilkoma dodatkami metod. Główną różnicą między Listą Java a ArrayList jest to, że musisz utworzyć odwołanie do interfejsu nadrzędnego w pierwszym i odwołanie do klasy, która implementuje listę. Oznacza to, że klasa listy tablic jest drugą klasą. Rzućmy okiem na różnice między Listą Java a ArrayList.

Bezpośrednie porównanie między listą Java a listą macierzy (infografiki)

Poniżej znajduje się porównanie 4 najlepszych między listą Java a listą macierzy

Kluczowe różnice między listą Java a listą macierzy

Różnice między listą Java a listą macierzy są wyjaśnione w poniższych punktach:

  • Jedną z głównych różnic między listą Java a listą tablic jest to, że lista jest interfejsem, a lista tablic jest standardową klasą kolekcji.
  • Interfejs Java List rozszerza listę Collection, a Array rozszerza klasę Abstract List, a także może implementować interfejs List.
  • Interfejs listy tworzy zbiór elementów, które są przechowywane w kolejności i można uzyskać do nich dostęp po numerze indeksu. Wręcz przeciwnie, lista tablic tworzy tablicę obiektów, w której tablica może dynamicznie rosnąć, gdy jest to wymagane, a także redukować.
  • Zarówno lista Java, jak i lista macierzy zapewnia różne rodzaje dostępu do danych z listy. Te metody umożliwiają pobieranie elementów z tablicy w określonej pozycji, a także usuwanie i zmniejszanie rozmiaru tablicy w przypadku listy Array.

Tabela porównań listy Java a lista tablic

Poniżej znajduje się tabela porównawcza między listą Java a listą macierzy

Podstawa porównania między listą Java a listą macierzyLista JavaLista tablic
Podstawowa różnicaLista to interfejs rozszerzający kolekcję. Po rozszerzeniu Collection deklaruje swoje zachowanie i przechowuje sekwencję elementów. Lista może zawierać dodatkowe metody wraz z metodami obecnymi w kolekcji. Lista może również zawierać zduplikowane elementy. Wiele metod z listy może zgłosić wyjątek Nieobsługiwana operacja, jeśli nie można zmodyfikować kolekcji.Array List to klasa, która rozszerza Abstract List i implementuje interfejs List. Normalne tablice używane w Javie mają stałą długość. Po utworzeniu tablicy w Javie jej rozmiar nie może być zwiększany ani zmniejszany. Listy tablic są dynamiczne i mogą być tworzone z początkowym rozmiarem, a później rozmiar można zwiększyć, jeśli doda się więcej danych, a także można go zmniejszyć, jeśli jakiekolwiek dane zostaną usunięte.
SkładniaSkładnia do zadeklarowania listy jest następująca:
Interfejs publiczny Lista rozszerza kolekcję
Składnia do zadeklarowania listy tablic jest następująca:
ArrayList klasy publicznej rozszerza AbstractList implementuje List, RandomAccess, Cloneable, Serializable
PracującyLista Java rozszerza środowisko Collection i korzysta z przestrzeni nazw system.collection.generic. Lista służy do pobierania obiektów powiązanych z ich numerami indeksu. Obiekt listy można utworzyć w następujący sposób:
List a = new ArrayList ();
Po utworzeniu obiektu przez użytkownika można ograniczyć typ obiektu, który można zapisać na liście. Obiekt można zadeklarować jako bezpieczny dla typu. Można to zrobić jak poniżej:
// Obj jest rodzajem obiektu do przechowywania na List.List list = new List ();
Lista tablic jest tworzona przez rozszerzenie AbstractList i implementuje interfejs listy. Przestrzeń nazw używana na liście Array to System. Kolekcje Lista tablic jest brana pod uwagę, gdy użytkownik musi utworzyć tablicę dynamiczną zawierającą obiekty, którą można dodawać i usuwać w czasie wykonywania.
ArrayList jest klasą i dlatego udostępnia kilka konstruktorów. Te konstruktory są następujące:
1) ArrayList (): Za pomocą tego konstruktora użytkownik może utworzyć pustą listę tablic. 2) ArrayList (kolekcja c): Ten konstruktor służy do tworzenia listy tablic inicjowanej elementami, które są wysyłane w kolekcji c.3) ArrayList (pojemność int): Główną cechą listy tablic jest to, że zwiększa się ona automatycznie, gdy do listy tablic dodawanych jest więcej elementów. Ten konstruktor pomaga utworzyć listę tablic o określonej pojemności początkowej.
MetodyLista zawiera różne metody:
1) void add (int index, Object obj)
Ta metoda pomaga w wstawianiu obiektów. Odbywa się to przez wywołanie listy w przekazywanym indeksie. Wszelkie istniejące elementy są przesuwane, w wyniku czego dane nie są nadpisywane.
2) Object get (int index)
Zwraca obiekt przechowywany pod tym konkretnym indeksem w kolekcji wywołującej.
3) ListIterator listIterator ()
Ta funkcja zwraca iterator na początek listy wywoływania.
4) Object remove (int index)
Służy do usuwania elementów o wspomnianym indeksie pozycji i zwraca usunięty element. Również wynikowa lista jest kompresowana, a indeksy kolejnych elementów są zmniejszane o jeden.
5) List subList (int start, int end)
Zwróci listę od początku do końca, gdzie początek jest indeksem początkowym, a koniec będzie indeksem końcowym. Do elementów na liście może również odwoływać się obiekt wywołujący.
Lista tablic zawiera następujące metody:
1) void add (int index, Object obj)
Wstawia określony element w określonej pozycji i zgłasza wyjątek IndexOutOfBoundsException, gdy wspomniany indeks jest poza zakresem.
2) Boolean zawiera (Object o)
Przeszukuje listę i zwraca wartość true, jeśli określony element jest obecny. Mówiąc ściślej, jeśli lista zawiera co najmniej jeden element taki, że o == null? e == null: o.equals (e)
3) Object get (int index)
Zwraca element obecny w określonej pozycji i zgłasza wyjątek IndexOutOfBoundsException, gdy wspomniany indeks jest poza zakresem.
4) void zapewniCapacity (int minCapacity)
Zwiększa pojemność instancji listy Array. Daje pewność, że może pomieścić minimalną liczbę elementów określoną jako pojemność.
5) Object () toArray ()
Zwraca tablicę, która składa się ze wszystkich elementów na liście. Zwraca NullPointerException, jeśli tablica jest pusta.

Wniosek - lista Java a lista macierzy

W rezultacie lista tablic jest rozwiązaniem problemu pamięci tablicy statycznej. Gdy użytkownik korzysta z listy tablic, tworzona jest tablica dynamiczna, którą można zwiększyć w razie potrzeby. Normalna lista rozszerza klasę kolekcji. Lepiej też zwiększyć pojemność tablicy na początku niż później przydzielić pamięć. Manipulacja jest powolna na liście tablic, ponieważ przesunięcie należy wykonać, jeśli jakikolwiek element zostanie usunięty z listy. Na liście można także wykonywać różne operacje dostępu pozycyjnego, wyszukiwania i widoku zasięgu.

Polecany artykuł

Jest to przewodnik po najważniejszych różnicach między listą Java a listą tablic. Tutaj omawiamy również różnice między kluczem Java List a Array List z infografikami i tabelą porównawczą. Możesz także zapoznać się z następującymi artykułami, aby dowiedzieć się więcej -

  1. Java Vector vs ArrayList-Która technologia jest najlepsza?
  2. Java vs JavaScript
  3. Scala vs Java Performance: Który jest lepszy
  4. Sterta Java kontra stos
  5. C # Array vs List; Korzyści
  6. Pomocny przewodnik po pytaniach do rozmowy testowej w języku Java
  7. Różnica między listą a zestawem