-- Java SE

List İnterface

List interface’i Collection interface’ini kalıtır ve elementleri ardışık olarak tutmak için collection tanımlar. Bir list oluşturmak için ArrayList veya LinkedList concrete classlar kullanılabilir. List içerisinde duplicate elementler tutulabilir.

java.util.List<E> Metodları :

+add(index: int, element: Object): boolean Belirtilen index’e element ekler.
+addAll(index: int, c: Collection<? extends E>): boolean C’deki tüm elementleri list’e ekler.
+get(index: int): E Belirtilen indexteki elementi dönderir.
+indexOf(element: Object): int Belirtilen elementle ilk karşılaşılan elementi dönderir.
+lastIndexOf(element: Object): int Belirtilen elementle son karşılaşılan elementi dönderir.
+listIterator(): ListIterator<E> List iterator dönderir.
+listIterator(startIndex: int): ListIterator<E> Belirtileni indexten List iterator önderir.
+remove(index: int): E Belirtilen indexteki elementi siler.
+set(index: int, element: Object): Object Belirtilen indexteki elementi ayarlar.
+subList(fromIndex: int, toIndex: int): List<E> fromIndex’ten başlayıp, toIndex’e kadar olan subList’i dönderir.

listIterator veya listIterator(startIndex) metodları ListIterator‘e ait instance dönderir. ListIterator interface’i Iterator interface’ini kalıtır.

java.util.ListIerator<E> Metodları :

+add(element: E): void Belirtilen nesneyi list’e ekler.
+hasPrevious(): boolean Sondan başa gezerken eğer list ıterator hala elemente sahipse true dönderir.
+nextIndex(): int Baştan sona gezerken eğer list ıterator hala elemente sahipse true dönderir.
+previous(): E list iteratördeki bir önceki elementi dönderir.
+previousIndex(): int list iteratördeki bir önceki elementin indexini dönderir.
+set(element: E): void previous veya next metodları ile dönderilen son elementi belirtilen elementle değiştirir.

ArrayList vs LinkedList

ArrayList ve LinkedList sınıfları List interface’inin iki somut implementasyonudur. ArrayList elementleri array içerisinde tutar. Array dinamik olarak oluşturulur. Eğer ki arrayin kapasitesi aşılırsa, daha geniş kapasiteli bir array oluşturulur ve tüm elemanlar bu arraya kopyalanır. LinkedList elementleri linked list içerisinde tutar. Hangisinin kullanılacağı ihtiyaçlara göre değişir.

ArrayListler yeniden boyutlandırılabilir. ArrayListe element ekledikçe size otomatik olarak artar, ancak otomatik olarak küçülmez. Bunun için trimTosize() metodu kullanılabilir.

java.util.ArrayList<E> Metotları :

+ArrayList() Boş ArrayList oluşturur.
+ArrayList(c: Collection<? extends E>) Belirtilen Collection’dan bir arrayList oluşturur.
+ArrayList(initialCapacity: int) Belirtlilen boyutta arrayList oluşturur.
+trimToSize(): void arrayList boyutunu mevcut eleman sayısına düşürür.

java.util.LinkedList<E>  Metotları :

+LinkedList() Boş linked list oluşturur.
+LinkedList(c: Collection<? extends E>) Collection’dan linked list oluşturur.
+addFirst(element: E): void Listenin başına ekleme yapar.
+addLast(element: E): void Listenin sonuna ekleme yapar.
+getFirst(): E İlk elementi dönderir.
+getLast(): E Son elementi dönderir.
+removeFirst(): E İlk elementi dönderir ve siler.
+removeLast(): E Son elementi dönderir ve siler

Ufak bir örnek :

Parogram çıktısı :

A list of integers in the array list:
[10, 1, 2, 30, 3, 1, 4]
***[10, red, 1, 2, 30, 3, 1, 4]
Baştan sona doğru yazdır :
green 10 red 1 2 30 3 1 
Sondan başa doğru yazdır :
1 3 30 2 1 red 10 green

 

Yorum bırak

Yorum