Přejít na hlavní obsah

Jak vytvořit LinkedList v Javě

LinkedList je jednou z nejoblíbenějších datových struktur v programovacím jazyce Java. Umožňuje ukládat a spravovat sekvenci prvků, kde každá položka obsahuje odkaz na předchozí a další položky.

Chcete-li vytvořit LinkedList v Javě, musíte použít již vestavěnou třídu LinkedList z balíčku java.util. Tato třída poskytuje řadu metod, které vám umožňují přidávat, odstraňovat, upravovat a vyhledávat položky v propojeném seznamu.

Prvním krokem je vytvořit objekt LinkedList pomocí příkazu new:

LinkedList linkedList = new LinkedList();

Při oznámení LinkedList byste měli zadat typ dat, která budou uložena v seznamu. Pokud například chceme vytvořit seznam celých čísel, můžete použít následující záznam:

LinkedList linkedList = new LinkedList();

Nyní, máme prázdný LinkedList, do kterého můžete přidávat položky, mazat je hledat. V následujících článcích se podíváme na základní metody LinkedList a příklady jejich použití.

Definice a struktura LinkedList

Struktura LinkedList se skládá z uzlů, kde každý uzel obsahuje data a odkaz na další uzel. Každá operace přidání a odstranění položky ze seznamu vyžaduje změnu odkazů na předchozí a následující uzly.

Výhodou LinkedList oproti jiným datovým strukturám, jako je pole, je, že LinkedList může efektivně přidávat a odebírat položky ze seznamu, aniž by je musel Kopírovat do nových paměťových pozic.

Výhody a nevýhody LinkedList

Výhody:

1. Efektivní přidávání a odstraňování prvků: LinkedList umožňuje rychlé přidávání a mazání položek, protože nevyžaduje překopírování celé kolekce při změně velikosti. To je zvláště užitečné při práci s velkými daty nebo při častých operacích přidávání a mazání.

2. Pružnost: LinkedList umožňuje ukládat různé typy dat, včetně nulových hodnot. Nabízí také různé metody práce s prvky sbírky, jako je získání prvního/posledního prvku, získání podpisového listu, sloučení několika LinkedList atd.

3. Implementace rozhraní Queue: LinkedList lze použít jako frontu pomocí implementace rozhraní Queue. Díky tomu je LinkedList užitečný při řešení problémů, kde je důležité pořadí prvků.

Nedostatky:

1. Pomalý přístup k prvkům podle indexu: LinkedList vyžaduje průchod napříč strukturou, aby získal prvek podle jeho indexu. Proto jsou operace získávání prvků (get ()) prováděny pomaleji než v případě ArrayList.

2. Zabírá více paměti: Každý uzel na LinkedList vyžaduje další úložný prostor pro uložení odkazu na další a předchozí uzel. LinkedList proto při ukládání stejného počtu položek zabírá více paměti než ArrayList.

3. Vyžaduje více času na obcházení: LinkedList vyžaduje průchod napříč strukturou, aby bylo možné provádět operace vkládání, mazání a přístupu k položkám. To může zpomalit některé operace ve srovnání s jinými sbírkami.

Jak vytvořit LinkedList

Vytvoření LinkedList v Javě je velmi snadné. Nejprve musíte importovat třídu LinkedList:

import java.util.LinkedList;

Poté můžete vytvořit objekt LinkedList zadáním typu objektů, které budou uloženy v seznamu. Pokud například potřebujete vytvořit seznam pro uložení celých čísel, můžete vytvořit následující objekt:

LinkedList list = new LinkedList<>();

Nyní můžete do seznamu přidat položky pomocí metody add . Například pro přidání čísla 5 do seznamu:

list.add(5);

Položky lze také přidat na konec seznamu pomocí metody addLast :

list.addLast(10);

Chcete-li získat položku ze seznamu podle indexu, můžete použít metodu get . Například získat první položku seznamu:

int firstElement = list.get(0);

LinkedList také poskytuje mnoho dalších metod pro přidání, odstranění a změnu položek. Používejte je podle svých potřeb.

Operace s LinkedList

Přidání položky na konec seznamu:

Chcete-li přidat položku na konec propojeného seznamu, musíte použít metodu add(). Metoda přidá uvedenou položku na konec seznamu.

Odstranění položky ze seznamu:

Chcete-li odstranit položku z přidruženého seznamu, musíte použít metodu remove(). Metoda odstraní uvedenou položku ze seznamu, pokud je přítomna. Pokud prvek není nalezen, metoda nic nedělá.

Získání položky podle indexu:

Chcete-li získat položku podle indexu v propojeném seznamu, musíte použít metodu get(). Metoda vrací položku umístěnou na zadaném indexu.

Kontrola položky v seznamu:

Chcete-li zkontrolovat, zda je položka v přidruženém seznamu přítomna, musíte použít metodu contains(). Metoda vrací true pokud je položka přítomna v seznamu, jinak - false.

Příklad použití LinkedList v Javě

LinkedList v Javě je datová struktura, která poskytuje flexibilnější implementaci propojeného seznamu.

Zde je příklad použití LinkedList v Javě:

import java.util.LinkedList;public class LinkedListExample  ();// Добавление элементов в LinkedListlinkedList.add("Первый элемент");linkedList.add("Второй элемент");linkedList.add("Третий элемент");System.out.println("Содержимое LinkedList: " + linkedList);// Доступ к элементам LinkedListString firstElement = linkedList.getFirst();String lastElement = linkedList.getLast();System.out.println("Первый элемент: " + firstElement);System.out.println("Последний элемент: " + lastElement);// Удаление элементов из LinkedListlinkedList.removeFirst();linkedList.removeLast();System.out.println("Содержимое LinkedList после удаления: " + linkedList);>>

V důsledku provádění tohoto kódu bude vyvedeno následující:

Содержимое LinkedList: [Первый элемент, Второй элемент, Третий элемент]Первый элемент: Первый элементПоследний элемент: Третий элементСодержимое LinkedList после удаления: [Второй элемент]

Příklad ukazuje, jak vytvořit objekt LinkedList, přidat položky, přistupovat k prvkům a odstranit položky. LinkedList poskytuje různé metody pro práci se seznamem, které lze použít k provádění různých operací.