Collections-Liste (List) Yapısı

List

-Veriler dizilerdeki gibi indis numarasına göre tutulurlar.

-Nesne yapısından verileri tutabilme özelliğine sahiptir.

-Dizilerden en önemli farkı boyutsuz olmasıdır. Eleman eklenildikçe genişliyor. Çıkarıldıkça ufalıyor.

-Kopya eleman bulundurmaya izin veriyor. (Küme yapılarında vermiyordu.)

-İtelemek (iterasyon) için  ListIterator kullanılır. (Küme yapılarında Iterator kullanıyorduk.)

-List oluştururken tip belirtmezsek her tipte eleman ekleyebiliriz.

 

List-Kullanılan Metotlar:

-add() : Veri ekleme

-set(int index,element) : Indisini girdiğimiz eleman göndereceğimiz değerle değiştirilir.

-get() : Metoda gönderdiğimiz indis değerinde bulunan veriyi gösterir.

-clear(): Listedeki bütün elemanları siler.

-remove(int index): Gönderilen indis değerindeki elemanı siler.

 

Iterator-Kullanılan Metotlar:

-hasNext() : Sonraki elemanı kontrol eder.

-hasPrevious() : Bir önceki elemanı kontrol eder. Diziyi sondan başlayarak tarar.

-next () : Sonraya iteler.

-previous () : Önceye iteler.

-nextIndex () : Bir sonraki indisi görebiliriz.

-previousIndex () : Bir önceki indisi görebiliriz.

 

 

[js]import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

public class ListeOrn {

public static void main(String[] args) {

List <Double> boy=new ArrayList <Double>();

boy.add(1.50);
boy.add(1.53);
boy.add(1.40);
boy.add(1.58);
boy.add(1.31);

ListIterator li=boy.listIterator();

while(li.hasNext()) //Listenin başından tarama yaptırıyoruz.
{
System.out.println(li.next());
System.out.println(li.nextIndex()); //Bir sonraki indis değerini yazdırıyoruz.
}

boy.set(3, 1.43); //3. indisteki elemanı 1.43 değeriyle değiştiriyoruz.
System.out.println(boy.get(3)); //Güncellediğimiz indisteki elemanı kontrol ediyoruz.

Coll
System.out.println("——————————————–\n Baştan tarama bitti. \n——————————————–\n");

while(li.hasPrevious())
{
System.out.println(li.previous());
System.out.println(li.previousIndex());
}

System.out.println("——————————————–\n Sondan tarama bitti. \n——————————————–");

}

}[/js]

[js]Çıktı:

1.5
1
1.53
2
1.4
3
1.58
4
1.31
5
1.43
——————————————–
Baştan tarama bitti.
——————————————–

1.31
3
1.43
2
1.4
1
1.53
0
1.5
-1
——————————————–
Sondan tarama bitti.
——————————————–
[/js]

Nesne yapısından verileri tutan bir liste yapısına örnek verelim:

[js]package ArrayList;

public class Human {

private int id;
private String name;
private String surname;
private int year;

public Human(int id,String name,String surname,int year){

this.id=id;
this.name=name;
this.surname=surname;
this.year=year;

}

@Override
public String toString() {
return "Human [id=" + id + ", name=" + name + ", surname=" + surname + ", year=" + year + "]";
}

}[/js]

[js]package ArrayList;

import java.util.ArrayList;
import java.util.List;
import java.util.ListIterator;

public class arrayList {

public static void main(String[] args) {

List <Human> aList=new ArrayList<Human>();

Human human1=new Human(1,"GNR","AKN",22);
Human human2=new Human(2, "SZR", "AKN", 19);

aList.add(human1);
aList.add(human2);

ListIterator li=aList.listIterator();

while(li.hasNext())
{

System.out.println(li.next().toString());
}
}
}
[/js]

[js]Çıktı:

Human [id=1, name=GNR, surname=AKN, year=22]
Human [id=2, name=SZR, surname=AKN, year=19]
[/js]

 

LinkedList

-Veri eklendikçe ilk girilen veri sona gider.(Stack-İlk giren son çıkar)

-listeAdi.addFirst(veri):ilk sıraya veri ekleyip diğerlerini öteler.

-listeAdi.removeFirst(veri):Tepedeki(son eklenen) veriyi silip diğerlerini geri çeker.

-listeAdi.getFirst(veri):Tepe elemanı getirir.(Yani en son ekleneni)

 

[js]package ArrayList;

import java.util.LinkedList;
import java.util.ListIterator;

public class lnkedList {

public static void main(String[] args) {

LinkedList lst=new LinkedList(); //Tip belirtmediğimiz için her türde veriyi ekleyebiliyoruz.

lst.addFirst(8);
lst.addFirst(4);
lst.addFirst(3);
lst.addFirst("A");
lst.addFirst("B");
lst.addFirst("C");

ListIterator li=lst.listIterator();

while(li.hasNext())
{

System.out.println(li.next());
}

lst.removeFirst();
System.out.println("——-\n"+lst.getFirst());

}
}
[/js]

 

[js]Çıktı:

C
B
A
3
4
8
——-
B
[/js]

Yazar: gnrakn

"To make this journey, We’ll need imagination. But imagination alone is not enough. Because the reality of nature far more wondrous than anything we can imagine.”

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir