Bu eğitimde, örnekler yardımıyla Java LinkedList hakkında ayrıntılı bilgi edineceğiz.
LinkedList
Java koleksiyonları çerçeve sınıfı bağlantılı liste veri yapısı (iki kat LinkedList) işlevselliğini sağlar.

Bağlantılı listedeki her öğe bir düğüm olarak bilinir . 3 alandan oluşur:
- Önceki - listedeki önceki öğenin adresini saklar. Öyle
null
ilk elemanı için - Sonraki - listedeki sonraki öğenin adresini saklar. Bu
null
son unsur için - Veri - gerçek verileri depolar
Java LinkedList Oluşturma
Java'da bağlantılı listeleri nasıl oluşturabiliriz:
LinkedList linkedList = new LinkedList();
Burada Tür, bağlantılı listenin türünü belirtir. Örneğin,
// create Integer type linked list LinkedList linkedList = new LinkedList(); // create String type linked list LinkedList linkedList = new LinkedList();
Örnek: Java'da LinkedList oluşturma
import java.util.LinkedList; class Main ( public static void main(String() args)( // create linkedlist LinkedList animals = new LinkedList(); // Add elements to LinkedList animals.add("Dog"); animals.add("Cat"); animals.add("Cow"); System.out.println("LinkedList: " + animals); ) )
Çıktı
LinkedList: (Köpek, Kedi, İnek)
Yukarıdaki örnekte, LinkedList
adlandırılmış bir hayvan yarattık .
Burada add()
LinkedList'e eleman eklemek için yöntemi kullandık . add()
Bu eğitimde daha sonra yöntem hakkında daha fazla bilgi edineceğiz .
Java LinkedList'in Çalışması
Bağlantılı listelerdeki öğeler sırayla saklanmaz. Bunun yerine, dağılırlar ve bağlantılar aracılığıyla bağlanırlar ( Önceki ve Sonraki ).

Burada bağlantılı bir listede 3 unsurumuz var.
- Köpek - önceki adres olarak boş tutan ve sonraki adres olarak Cat'in adresini tutan ilk unsurdur.
- Kedi - önceki adres olarak Köpeğin adresini ve sonraki adres olarak İnek adresini tutan ikinci unsurdur.
- İnek - Cat'in adresini önceki adres olarak ve sonraki öğe olarak boş tutan son unsurdur
Daha fazla bilgi edinmek için LinkedList Veri Yapısını ziyaret edin.
Java LinkedList Yöntemleri
LinkedList
bağlantılı listelerde farklı işlemler gerçekleştirmemize izin veren çeşitli yöntemler sağlar. Bu eğitimde yaygın olarak kullanılan dört LinkedList Operatörüne bakacağız:
- Öğe ekleyin
- Erişim öğeleri
- Öğeleri değiştir
- Öğeleri kaldır
1. LinkedList'e öğeler ekleyin
add()
LinkedList'in sonuna bir eleman (düğüm) eklemek için yöntemi kullanabiliriz . Örneğin,
import java.util.LinkedList; class Main ( public static void main(String() args)( // create linkedlist LinkedList animals = new LinkedList(); // add() method without the index parameter animals.add("Dog"); animals.add("Cat"); animals.add("Cow"); System.out.println("LinkedList: " + animals); // add() method with the index parameter animals.add(1, "Horse"); System.out.println("Updated LinkedList: " + animals); ) )
Çıktı
LinkedList: (Köpek, Kedi, İnek) Güncellenmiş LinkedList: (Köpek, At, Kedi, İnek)
Yukarıdaki örnekte LinkedList adlı bir hayvanlar oluşturduk. Burada, add()
hayvanlara eleman eklemek için yöntemi kullandık .
İfadeye dikkat edin,
animals.add(1, "Horse");
Burada indeks numarası parametresini kullandık. Yeni öğenin eklendiği konumu belirten isteğe bağlı bir parametredir.
LinkedList'e öğe ekleme hakkında daha fazla bilgi edinmek için, LinkedList'e öğe eklemek için Java programını ziyaret edin.
2. LinkedList öğelerine erişin
get()
LinkedList sınıf yöntemi LinkedList bir öğe ulaşmak için kullanılır. Örneğin,
import java.util.LinkedList; class Main ( public static void main(String() args) ( LinkedList languages = new LinkedList(); // add elements in the linked list languages.add("Python"); languages.add("Java"); languages.add("JavaScript"); System.out.println("LinkedList: " + languages); // get the element from the linked list String str = languages.get(1); System.out.print("Element at index 1: " + str); ) )
Çıktı
LinkedList: (Python, Java, JavaScript) Dizin 1'deki öğe: Java
Yukarıdaki örnekte, get()
yöntemi 1 parametresiyle kullandık . Burada, yöntem 1. dizindeki öğeyi döndürür .
LinkedList öğelerine iterator()
ve listIterator()
yöntemini kullanarak da erişebiliriz . Daha fazla bilgi edinmek için LinkedList öğelerine erişmek için Java programını ziyaret edin.
3. Bağlantılı Listenin Öğelerini Değiştirin
set()
Yöntem LinkedList
sınıfı LinkedList elemanlarını değiştirmek için kullanılır. Örneğin,
import java.util.LinkedList; class Main ( public static void main(String() args) ( LinkedList languages = new LinkedList(); // add elements in the linked list languages.add("Java"); languages.add("Python"); languages.add("JavaScript"); languages.add("Java"); System.out.println("LinkedList: " + languages); // change elements at index 3 languages.set(3, "Kotlin"); System.out.println("Updated LinkedList: " + languages); ) )
Çıktı
LinkedList: (Java, Python, JavaScript, Java) Güncellenmiş LinkedList: (Java, Python, JavaScript, Kotlin)
Yukarıdaki örnekte, LinkedList adlı bir dil oluşturduk. Çizgiye dikkat edin,
languages.set(3, "Kotlin");
Burada set()
yöntem, dizin 3'teki öğeyi Kotlin olarak değiştirir.
4. Bağlantı Listesinden öğeyi kaldırın
The remove()
method of the LinkedList
class is used to remove an element from the LinkedList. For example,
import java.util.LinkedList; class Main ( public static void main(String() args) ( LinkedList languages = new LinkedList(); // add elements in LinkedList languages.add("Java"); languages.add("Python"); languages.add("JavaScript"); languages.add("Kotlin"); System.out.println("LinkedList: " + languages); // remove elements from index 1 String str = languages.remove(1); System.out.println("Removed Element: " + str); System.out.println("Updated LinkedList: " + languages); ) )
Output
LinkedList: (Java, Python, JavaScript, Kotlin) Removed Element: Python New LinkedList: (Java, JavaScript, Kotlin)
Here, the remove()
method takes the index number as the parameter. And, removes the element specified by the index number.
To learn more about removing elements from the linkedlist, visit the Java program to remove elements from LinkedList…
Other Methods
Methods | Description |
---|---|
contains() | checks if the LinkedList contains the element |
indexOf() | returns the index of the first occurrence of the element |
lastIndexOf() | returns the index of the last occurrence of the element |
clear() | removes all the elements of the LinkedList |
iterator() | returns an iterator to iterate over LinkedList |
LinkedList as Deque and Queue
Since the LinkedList
class also implements the Queue and the Deque interface, it can implement methods of these interfaces as well. Here are some of the commonly used methods:
Methods | Descriptions |
---|---|
addFirst() | adds the specified element at the beginning of the linked list |
addLast() | adds the specified element at the end of the linked list |
getFirst() | returns the first element |
getLast() | returns the last element |
removeFirst() | removes the first element |
removeLast() | removes the last element |
peek() | returns the first element (head) of the linked list |
poll() | returns and removes the first element from the linked list |
offer() | adds the specified element at the end of the linked list |
Example: Java LinkedList as Queue
import java.util.LinkedList; import java.util.Queue; class Main ( public static void main(String() args) ( Queue languages = new LinkedList(); // add elements languages.add("Python"); languages.add("Java"); languages.add("C"); System.out.println("LinkedList: " + languages); // access the first element String str1 = languages.peek(); System.out.println("Accessed Element: " + str1); // access and remove the first element String str2 = languages.poll(); System.out.println("Removed Element: " + str2); System.out.println("LinkedList after poll(): " + languages); // add element at the end languages.offer("Swift"); System.out.println("LinkedList after offer(): " + languages); ) )
Output
LinkedList: (Python, Java, C) Accessed Element: Python Removed Element: Python LinkedList after poll(): (Java, C) LinkedList after offer(): (Java, C, Swift)
Example: LinkedList as Deque
import java.util.LinkedList; import java.util.Deque; class Main ( public static void main(String() args)( Deque animals = new LinkedList(); // add element at the beginning animals.add("Cow"); System.out.println("LinkedList: " + animals); animals.addFirst("Dog"); System.out.println("LinkedList after addFirst(): " + animals); // add elements at the end animals.addLast("Zebra"); System.out.println("LinkedList after addLast(): " + animals); // remove the first element animals.removeFirst(); System.out.println("LinkedList after removeFirst(): " + animals); // remove the last element animals.removeLast(); System.out.println("LinkedList after removeLast(): " + animals); ) )
Output
LinkedList: (Cow) LinkedList after addFirst(): (Dog, Cow) LinkedList after addLast(): (Dog, Cow, Zebra) LinkedList after removeFirst(): (Cow, Zebra) LinkedList after removeLast(): (Cow)
Iterating through LinkedList
We can use the Java for-each loop to iterate through LinkedList. For example,
import java.util.LinkedList; class Main ( public static void main(String() args) ( // Creating a linked list LinkedList animals = new LinkedList(); animals.add("Cow"); animals.add("Cat"); animals.add("Dog"); System.out.println("LinkedList: " + animals); // Using forEach loop System.out.println("Accessing linked list elements:"); for(String animal: animals) ( System.out.print(animal); System.out.print(", "); ) ) )
Output
LinkedList: (Cow, Cat, Dog) Accessing linked list elements: Cow, Cat, Dog,
LinkedList Vs. ArrayList
Both the Java ArrayList and LinkedList
implements the List
interface of the Collections
framework. However, there exists some difference between them.
LinkedList | ArrayList |
---|---|
Implements List , Queue , and Deque interfaces. | Implements List interface. |
Stores 3 values (previous address, data, and next address) in a single position. | Tek bir konumda tek bir değeri saklar. |
Çift bağlantılı liste uygulamasını sağlar. | Yeniden boyutlandırılabilir bir dizi uygulaması sağlar. |
Bir eleman eklendiğinde prev ve next adres değiştirildiğinde. | Bir öğe eklendiğinde, bu konumdan sonraki tüm öğeler kaydırılır. |
Bir öğeye erişmek için, baştan öğeye kadar yinelememiz gerekir. | Dizinler kullanarak öğelere rastgele erişebilir. |
Not : Java'daki arayüzleri kullanarak bir LinkedList de oluşturabiliriz. Örneğin,
// create linkedlist using List List animals1 = new LinkedList(); // creating linkedlist using Queue Queue animals2 = new LinkedList(); // creating linkedlist using Deque Deque animals3 = new LinkedList();
Burada LinkedList bir arayüz kullanılarak oluşturulmuşsa, diğer arayüzler tarafından sağlanan yöntemleri kullanamayız. Yani, hayvanlar1 özel yöntemleri Queue
ve Deque
arayüzleri kullanamaz .