Linkedlist in Java

Linked list , Java’da, her düğümün bir öğe ve listedeki bir sonraki düğüme bir referans (bağ) içerdiği bir dizi düğümden oluşan bir veri yapısıdır. İlk düğüm baş, son düğüm ise kuyruk olarak adlandırılır. Bağlantılı listeler, bir diziyi yeniden boyutlandırmaya gerek kalmadan kolayca eklenebilecekleri veya çıkarılabilecekleri için, listedeki öğe sayısının sık sık değişebileceği durumlar için kullanışlıdır.

Java’da Linked list, Java Collection Framework’ün bir parçası olan Linked List sınıfı kullanılarak uygulanır. Linked list sınıfı, Abstract Sequential List sınıfını genişletir ve List, Deque ve Queue arabirimlerini uygular. Bu, Array List gibi diğer liste sınıflarıyla aynı yöntemlerin birçoğunu sağladığı, ancak ek olarak listenin başına veya sonuna öğeleri verimli bir şekilde ekleyip çıkarabilme avantajı sağladığı anlamına gelir.

Linked List sınıfı, listenin başına öğe eklemek için add() ve addFirst() yöntemleri, listenin sonuna öğe eklemek için addLast() yöntemi ve remove de dahil olmak üzere öğe eklemek ve kaldırmak için çeşitli yöntemler sağlar. () ve listenin başından öğeleri kaldırmak için removeFirst() yöntemleri. Ayrıca listedeki ilk öğeyi almak için get() ve getFirst() yöntemleri ve listedeki son öğeyi almak için getLast() yöntemi gibi öğeleri aramak ve almak için yöntemler sağlar.

LinkedList sınıfı tarafından sağlanan standart yöntemlere ek olarak, bir yineleyici kullanarak bağlantılı bir listenin öğeleri üzerinde yineleme yapmak da mümkündür. LinkedList sınıfı, listedeki öğeler arasında geçiş yapmak için kullanılabilecek, liste için bir yineleyici döndüren bir iterator() yöntemi sağlar.

Bağlantılı listenin, bellek kullanımı ve ekleme/silme süresi karmaşıklığı açısından dizilere göre bir avantajı olduğunu, ancak erişim süresi karmaşıklığı açısından bir dezavantajı olduğunu belirtmekte fayda var, çünkü bağlantılı bir listedeki bir öğenin rasgele erişimi O(n) alır. zaman, bir dizi için ise O(1) zaman alır.

Genel olarak, Java’daki Linked List sınıfı, öğe listeleriyle çalışmak için güçlü ve esnek bir yol sağlar ve listedeki öğelerin sayısı sık sık değişebildiğinde, Array List gibi diğer liste sınıflarına yararlı bir alternatif olabilir.

İbrahim Ebrar AKÇAKOYUN