Tento Seznam Java Tutorial Vysvětluje, Jak Vytvořit, Inicializovat a Tisknout Seznamy v Javě. Tutoriál také vysvětluje seznam seznamů s kompletním příkladem kódu:

tento tutoriál vás seznámí s datovou strukturou „Seznam“, která je jednou ze základních struktur v rozhraní Java Collection.

seznam v Javě je posloupnost prvků podle objednávky. Seznam rozhraní java.,util balíček je ten, který implementuje tuto posloupnost objektů uspořádaných v určitém způsobem zvaném seznam.

= > zkontrolujte všechny Java tutoriály zde.

stejně jako pole lze k prvkům seznamu přistupovat také pomocí indexů s prvním indexem začínajícím na 0. Index označuje určitý prvek v indexu „i“, tj. je to i prvky od začátku seznamu.

některé z charakteristik seznamu v Javě zahrnují:

  • seznamy mohou mít duplicitní prvky.
  • seznam může mít také‘ null ‚ prvky.,
  • seznamy podporují generika, tj. můžete mít generické seznamy.
  • ve stejném seznamu můžete mít také smíšené objekty (objekty různých tříd).seznamy
  • vždy zachovávají pořadí vkládání a umožňují Polohový přístup.

seznam v jazyce Java

rozhraní seznamu Java je sub-Typ rozhraní kolekce Java. Toto je standardní rozhraní, které dědí rozhraní kolekce Java.

níže je uveden třídní diagram rozhraní Java List.,

Java Seznamu Class Diagram

, Jak je znázorněno ve výše uvedeném diagramu tříd, Java seznam rozhraní rozšiřuje z Kolekce rozhraní java.util balíček, který zase sahá od Iterable rozhraní java.util balíček. Třída AbstractList poskytuje skeletální implementaci rozhraní seznamu.

třídy LinkedList, Stack, Vector, ArrayList, a CopyOnWriteArrayList jsou všechny implementace tříd Seznam rozhraní, která jsou často používány programátory., Existují tedy čtyři typy seznamů v Javě, tj. Stack, LinkedList, ArrayList a Vector.

proto, když musíte implementovat rozhraní seznamu, můžete v závislosti na požadavcích implementovat kteroukoli z výše uvedených tříd typu seznamu. Chcete-li do svého programu zahrnout funkčnost rozhraní seznamu, budete muset importovat balíček java.utile.,* , které obsahují seznam rozhraní a jiných tříd, definice takto:

import java.util.*;

Vytvořit & Prohlašuji, že Seznam

již Jsme uvedl, že Seznam je rozhraní a je implementována pomocí tříd jako ArrayList, Stack, Vektor a LinkedList. Proto můžete deklarovat a vytvořit instance v seznamu v kterémkoli z následujících způsobů:

List linkedlist = new LinkedList(); List arrayList = new ArrayList();List vec_list = new Vector(); List stck_list = new Stack();

Jak je uvedeno výše, můžete vytvořit seznam s některou z výše uvedených tříd a pak inicializovat tyto seznamy s hodnotami., Z výše uvedených příkazů můžete zjistit, že pořadí prvků se změní v závislosti na třídě použité pro vytvoření instance seznamu.

například pro seznam s třídou zásobníku je objednávka Poslední, první Out (LIFO).

inicializovat seznam Java

můžete použít některou z níže uvedených metod k inicializaci objektu seznamu.

#1) pomocí metody asList

je metoda asList () již podrobně popsána v tématu polí. Můžete vytvořit neměnný seznam pomocí hodnot pole.,

obecná syntaxe je:

List<data_type> listname = Arrays.asList(array_name);

zde by měl data_type odpovídat typu pole.

výše uvedený příkaz vytvoří neměnný seznam. Pokud chcete, aby byl seznam proměnlivý, musíte vytvořit instanci seznamu pomocí nového a přiřadit k němu prvky pole pomocí metody asList.

Toto je, jak je uvedeno níže:

List<data_type> listname = new ArrayList<> (Arrays.asList(array_name));

Pojďme implementovat program v Javě, který ukazuje vytvoření a inicializace seznamu pomocí asList metoda.,

výstup:

ve výše uvedeném programu jsme nejprve vytvořili neměnný seznam pomocí metody asList. Poté vytvoříme proměnlivý seznam vytvořením instance ArrayList a inicializací tohoto pole s hodnotami z pole pomocí metody asList.

Všimněte si, že vzhledem k tomu, že druhý seznam je proměnlivý, můžeme do něj také přidat další hodnoty.

#2) pomocí seznamu.přidat ()

jak již bylo zmíněno, protože seznam je pouze rozhraní, které nelze instancovat. Ale můžeme instanciate třídy, které implementují toto rozhraní., Proto k inicializaci seznamu tříd, můžete použít jejich příslušných přidat metody, což je seznam rozhraní, metody, ale jednotlivých tříd.

Pokud se vám instanci spojový seznam třídy, jak je uvedeno níže:

List<Integer> llist = new LinkedList<Integer> ();

přidat prvek do seznamu, můžete použít přidat metoda takto:

llist.add(3);

k Dispozici je také techniku zvanou „Dvojitou výztuhou inicializace“, ve kterém seznamu je vytvořena a inicializována voláním metody add ve stejném prohlášení.,

to se provádí, jak je uvedeno níže:

List<Integer> llist = new LinkedList<Integer> (){{ add(1); add(3);}};

výše uvedené prohlášení přidává prvky 1 a 3 do seznamu.

následující program zobrazuje inicializace seznamu pomocí metody add. Používá také techniku inicializace dvojité ortézy.

výstup:

tento program má tři různé deklarace seznamu, tj. ArrayList, LinkedList a Stack.

ArrayList a LinkedList objekty jsou instancemi a pak přidat metody jsou volány přidat prvky do těchto objektů., Pro stack se používá dvojitá inicializace ortézy, ve které se metoda add nazývá během samotné instalace.

# 3) pomocí metod třídy sbírek

třída kolekcí Java má různé metody, které lze použít k inicializaci seznamu.

Některé metody jsou:

  • addAll

obecná syntaxe pro kolekce addAll způsob je:

List<dataType> listname = Collections.EMPTY_LIST;Collections.addAll(listname = new ArrayList<datatype>(), values…);

Zde můžete přidat hodnoty do prázdného seznamu. Metoda addAll bere seznam jako první parametr následovaný hodnotami, které mají být vloženy do seznamu.,

  • unmodifiableList ()

metoda „unmodifiableList ()“ vrací neměnný seznam, do kterého nelze prvky přidat ani smazat.

obecná syntaxe této metody je následující:

List<datatype> listname = Collections.unmodifiableList(Arrays.asList(values…));

metoda bere hodnoty seznamu jako parametry a vrací seznam. Pokud se vůbec pokusíte přidat nebo odstranit jakýkoli prvek z tohoto seznamu, pak kompilátor hodí výjimku Nepodporovanouoperationexception.

  • singletonList ()

metoda „singletonList“ vrací seznam s jediným prvkem v něm. Seznam je neměnný.,

obecná syntaxe pro tuto metodu je:

List<datatype> listname = Collections.singletonList(value);

následující program Java demonstruje všechny tři metody třídy sbírek diskutované výše.

Výstup:

#4) Pomocí Java8 Proudy

S zavedení streamů v Java 8, můžete také vytvořit proud dat a sbírat je do seznamu.

následující program zobrazuje vytvoření seznamu pomocí streamu.

výstup:

výše uvedený program shromažďuje proud řetězce do seznamu a vrací jej., Můžete také použít jiné metody kolektorů ,jako je „toCollection“, „unmodifiableList“ atd. kromě aslistu ve funkci collect.

#5) seznam Java 9.z () metoda

nová metoda je zavedena v Java 9, seznam.Z () který bere libovolný počet prvků a vytváří seznam. Sestavený seznam je neměnný.

výstup:

příklad seznamu

uvedený níže je úplným příkladem použití rozhraní seznamu a jeho různých metod.

výstup:

výše uvedený výstup programu zobrazuje různé operace prováděné na ArrayList. Nejprve vytvoří a inicializuje seznam., Poté zkopíruje obsah jiného seznamu do tohoto seznamu a také odstraní prvek ze seznamu. Nakonec nahradí poslední prvek v seznamu jinou hodnotou.

podrobně prozkoumáme metody seznamu v našem dalším tutoriálu.

tiskový seznam

existují různé metody, pomocí kterých můžete tisknout prvky seznamu v Javě.

pojďme diskutovat o některých metodách zde.

#1) Použití Pro Loop / Enhanced Pro Loop

seznam je uspořádaná sbírka, ke které lze přistupovat pomocí indexů., Můžete použít pro smyčku, která se používá k iteraci pomocí indexů pro tisk každého prvku seznamu.

Java má jinou verzi For loop zná jako vylepšenou pro loop, která může být také použita pro přístup a tisk každého prvku seznamu.

níže uvedený program Java demonstruje tisk obsahu seznamu pomocí pro smyčku a vylepšený pro smyčku.

výstup:

# 2) pomocí metody toString

metoda „toString ()“ rozhraní seznamu vrací reprezentaci řetězce seznamu.

níže uvedený program demonstruje použití metody toString ().,

výstup:

seznam převeden na pole

seznam má metodu toArray (), která převádí seznam na pole. Po převedení na pole můžete pomocí metod pole diskutovaných v příslušném tématu vytisknout obsah tohoto pole. Můžete buď použít pro nebo lepší pro smyčku nebo dokonce toString metodu.

níže uvedený příklad používá metodu toString k tisku obsahu pole.

výstup:

pomocí Java 8 proudy

proudy jsou zavedeny v Javě 8. Můžete využít streamů pro procházení seznamu., Existují také lambdy, pomocí kterých můžete iterovat seznam.

níže uvedený program ukazuje použití streamů k iteraci seznamu a zobrazení jeho obsahu.

výstup:

kromě výše uvedených metod můžete použít iterátory seznamu k iteraci seznamu a zobrazení jeho obsahu. V následujících tutoriálech budeme mít kompletní článek o iterátoru seznamu.

seznam seznamů

rozhraní seznamu Java Podporuje „seznam seznamů“. V tomto případě jsou jednotlivé prvky seznamu opět seznamem. To znamená, že můžete mít seznam v jiném seznamu.,

tento koncept je velmi užitečný, když musíte číst data ze souborů say CSV. Zde budete možná muset přečíst více seznamů nebo seznamů uvnitř seznamů a poté je uložit do paměti. Opět budete muset tato data zpracovat a zapsat zpět do souboru. V takových situacích tedy můžete udržovat seznam seznamů pro zjednodušení zpracování dat.

následující program Java demonstruje příklad seznamu seznamů Java.

v tomto programu máme seznam seznamů typového řetězce. Vytvoříme dva samostatné seznamy typu řetězec a přiřadit hodnoty těchto seznamů., Oba tyto seznamy jsou přidány do seznamu seznamů pomocí metody přidat.

pro zobrazení obsahu seznamu seznamů používáme dvě smyčky. Vnější smyčka (foreach) iteruje prostřednictvím seznamů seznamů přístup k seznamům. Vnitřní smyčka foreach přistupuje k jednotlivým řetězcovým prvkům každého z těchto seznamů.

výstup:

seznam seznamů Java je malý koncept, ale je důležitý zejména tehdy, když musíte číst složitá data ve svém programu.

Často kladené otázky

Q #1) Co je seznam a nastavit v Javě?

odpověď: seznam je uspořádaná sbírka prvků., V seznamu můžete mít duplicitní prvky.

sada není objednaná kolekce. Prvky v sadě nejsou uspořádány v žádném konkrétním pořadí. Také prvky v sadě musí být jedinečné. To neumožňuje duplikáty.

Q #2) Jak funguje seznam v Javě?

odpověď: seznam je rozhraní v Javě, které sahá od rozhraní kolekce. Třídy ArrayList, LinkedList, Stack a Vector implementují rozhraní seznamu. Programátor tak může tyto třídy použít k použití funkce rozhraní seznamu.

Q # 3) Co je ArrayList v Javě?,

odpověď: ArrayList je dynamické pole. Jedná se o změnu velikosti kolekce prvků a implementuje rozhraní seznamu. ArrayList interně využívá pole pro uložení prvků.

Q #4) seznamy začínají na 0 nebo 1 v Javě?

odpověď: seznamy v Javě mají nulový index celého čísla. To znamená, že první prvek v seznamu je na indexu 0, druhý prvek na indexu 1 a tak dále.

Q #5) je seznam objednán?

Odpověď: Ano. Seznam je uspořádaná sbírka prvků., Toto pořadí je zachováno, během vložení nového prvku do seznamu,

závěr

tento tutoriál představil rozhraní seznamu v Javě. Diskutovali jsme také o hlavních konceptech seznamů, jako je tvorba, inicializace seznamů, tisk seznamů atd.

v našich nadcházejících tutoriálech budeme diskutovat o různých metodách, které poskytuje rozhraní seznamu. Budeme také diskutovat iterátor konstrukt, který se používá k iteraci objektu seznamu. V našem nadcházejícím tutoriálu budeme diskutovat o konverzi seznamových objektů na jiné datové struktury.,

= > Navštivte zde a podívejte se na řadu školení Java pro všechny.