Rozdíly mezi seznamem Java a seznamem polí

Java je dynamický jazyk a lze ji použít na jakékoli platformě. Poskytuje seznam Java vs ArrayList. Seznam funguje jako rozhraní a seznam polí je implementací seznamu. Rozhraní seznamu se skládá z metod. Tyto metody jsou zahrnuty do třídy seznamu polí s několika dodatky metod. Hlavním rozdílem mezi seznamem Java vs ArrayList je, že musíte vytvořit odkaz na nadřazené rozhraní v prvním a odkaz na třídu, která seznam implementuje. To znamená, že třída seznamu polí je druhá třída. Podívejme se na rozdíly mezi seznamem Java List a ArrayList.

Srovnání hlava-hlava mezi seznamem Java vs seznamem polí (infografika)

Níže je první 4 porovnání mezi seznamem Java a seznamem polí

Klíčové rozdíly mezi seznamem Java a seznamem polí

Rozdíly mezi seznamem jazyků Java a seznamem polí jsou vysvětleny v níže uvedených bodech:

  • Jedním z hlavních rozdílů mezi seznamem Java List vs Array List je, že seznam je rozhraní a seznam polí je standardní třídou kolekce.
  • Rozhraní Java List rozšiřuje Collection and Array list rozšiřuje třídu Abstract List a může také implementovat rozhraní List.
  • Rozhraní seznamu vytváří kolekci prvků, které jsou uloženy v pořadí a lze k nim přistupovat pomocí indexového čísla. Seznam polí naopak vytváří řadu objektů, kde pole může dynamicky růst, kdykoli je to potřeba a také zmenšit.
  • Seznam Java List vs Array List poskytuje různé způsoby přístupu k datům ze seznamu. Tyto metody umožňují získat prvky z pole na určené pozici a také odstranit a zmenšit velikost pole v případě seznamu polí.

Tabulka porovnání Java seznamu a seznamu polí

Následuje srovnávací tabulka mezi seznamem Java List vs Array List

Základ porovnání mezi seznamem Java a seznamem políSeznam JavaSeznam polí
Základní rozdílSeznam je rozhraní, které rozšiřuje kolekce. Při rozšiřování kolekce deklaruje své chování a ukládá sekvenci prvků. Seznam může obsahovat některé další metody spolu s metodami přítomnými ve Sbírce. Seznam může také obsahovat duplicitní prvky. Pokud nelze kolekci změnit, mnoho metod v seznamu může vyvolat nepodporovanou výjimku operace.Seznam polí je třída, která rozšiřuje seznam abstrakt a implementuje rozhraní seznamu. Normální pole používaná v Javě mají pevnou délku. Jakmile je pole vytvořeno v Javě, nelze jeho velikost zvětšit nebo zmenšit. Seznamy polí jsou dynamické a lze je vytvořit s počáteční velikostí a později lze velikost zvětšit, pokud se přidá více dat, a také ji lze snížit, pokud budou některá data odstraněna.
SyntaxSyntaxe pro deklaraci seznamu je následující:
veřejné rozhraní Seznam rozšiřuje kolekce
Syntaxe pro deklaraci seznamu polí je následující:
public class ArrayList rozšiřuje AbstractList implementuje List, RandomAccess, Cloneable, Serializable
PracovníJava List rozšiřuje rámec kolekce a používá obor názvů system.collection.generic. Seznam se používá k získání objektů, které souvisejí s jejich indexovými čísly. Objekt seznamu lze vytvořit takto:
Seznam a = nový ArrayList ();
Jakmile uživatel objekt vytvoří, může omezit typ objektu, který lze uložit do seznamu. Objekt lze prohlásit za bezpečný. To lze provést takto:
// Obj je typ objektu, který má být uložen do List.List list = new List ();
Seznam polí je vytvořen rozšířením AbstractListu a implementuje rozhraní seznamu. Jmenný prostor používaný v seznamu Array je System. Sbírky. Seznam polí se zvažuje, když uživatel potřebuje vytvořit dynamické pole, které obsahuje objekty a které lze za běhu přidat a odebrat.
ArrayList je třída, a proto poskytuje několik konstruktérů. Tito konstruktéři jsou níže:
1) ArrayList (): Pomocí tohoto konstruktoru uživatel může vytvořit prázdný seznam polí.2) ArrayList (kolekce c): Tento konstruktor se používá k vytvoření seznamu polí, který je inicializován pomocí prvků odeslaných do kolekce c.3) ArrayList (int kapacita): Hlavním rysem seznamu polí je to, že se automaticky zvyšuje, když je do seznamu polí přidáno více prvků. Tento konstruktor pomáhá vytvořit seznam polí se zadanou počáteční kapacitou.
MetodySeznam poskytuje různé metody:
1) void add (int index, Object obj)
Tato metoda pomáhá při vkládání objektů. To se provádí vyvoláním seznamu u předávaného indexu. Všechny existující prvky jsou posunuty a v důsledku toho nejsou přepsána žádná data.
2) Objekt get (int index)
Vrací objekt, který je uložen v daném indexu v vyvolávající kolekci.
3) ListIterator listIterator ()
Tato funkce vrátí iterátor na začátek seznamu vyvolání.
4) Odstranění objektu (index int)
Používá se při odstraňování prvků v uvedeném indexu polohy a vrací odstraněnou položku. Výsledný seznam je také komprimován a indexy následných prvků jsou sníženy o jeden.
5) Seznam sublistů (int start, int end)
Vrátí seznam od začátku do konce, kde začátek je počáteční index a konec bude koncový index. Prvky v seznamu mohou být také vyvolány vyvolávajícím objektem.
Seznam polí obsahuje níže uvedené metody:
1) void add (int index, Object obj)
Vloží určený prvek na určené místo a vyhodí výjimku IndexOutOfBoundsException, když je uvedený index mimo rozsah.
2) Boolean obsahuje (objekt o)
Prohledává seznam a vrací true, pokud je zadaný prvek přítomen. Konkrétněji, pokud seznam obsahuje alespoň jeden prvek takový, že o == null? e == null: o.equals (e)
3) Objekt get (int index)
Vrací prvek přítomný na určené pozici a vyvolá výjimku IndexOutOfBoundsException, když je uvedený index mimo rozsah.
4) neplatné zajištěníKapacita (int minCapacity)
Zvyšuje kapacitu instance seznamu polí. Zajišťuje, že pojme minimální počet prvků, který je určen jako kapacita.
5) Object () toArray ()
Vrací pole, které se skládá ze všech prvků v seznamu. Vrací hodnotu NullPointerException, pokud je pole null.

Závěr - Java List vs Array List

Výsledkem je, že seznam polí je řešením problému s pamětí statického pole. Když uživatel používá seznam polí, vytvoří se dynamické pole, které lze v případě potřeby zvětšit. Normální seznam rozšiřuje třídu kolekce. Je také lepší na začátku zvýšit kapacitu pole, než později přerozdělit paměť. Manipulace je v seznamu polí pomalá, protože pokud je některý prvek ze seznamu odstraněn, je třeba provést řazení. V seznamu můžete také provádět různé operace pozičního přístupu, vyhledávání a zobrazení rozsahu.

Doporučený článek

Toto byl průvodce po největších rozdílech mezi seznamem Java a seznamem polí. Zde také diskutujeme klíčové rozdíly v Java Listu a Array Listu s infografikou a srovnávací tabulkou. Další informace naleznete také v následujících článcích -

  1. Technologie Java Vector vs ArrayList - která technologie je nejlepší?
  2. Java vs JavaScript
  3. Scala vs Java Performance: Který z nich je lepší
  4. Java Heap vs Stack
  5. C # Array vs List; Výhody
  6. Užitečný průvodce otázkami testování jazyka Java
  7. Rozdíl mezi seznamem a sadou

Kategorie: