Collections-Küme (Set) Yapısı

Kopya eleman bulundurmayan collection türüdür. Set yapısında kullanılan komutlardan bazıları şöyle :

add() : İçerisine girilen parametreyi yapıya ekler.

-clear() : Yapı içerisindeki tüm elemanları temizler.

-remove() : İçerisine girilen parametreyi yapı içerisinden siler.

-contains() : İçerisine girilen elemanın yapı içerisinde olup olmadığını kontrol eder.

-size() : Yapının boyutunu döndürür.

 

Iterator

Collection yapısı içerisindeki objeler üzerinde değişiklik yapmamızı ve onlara ulaşmamızı sağlar. Iterator nesnesinin kullandığı metotlardan bazıları şu şekilde :

hasNext() : Collection yapısı içerisinde Iterator nesnesinin işaret ettiği sıradaki alan boş değilse true değer döndürür.

next() : Iterator’un ilerlemesini sağlar. Kullanmazsak Iterator aynı öğeyi işaret eder durur.

remove() : İçerisine aldığı parametrenin gösterdiği elemanı ilgili collection yapısından siler.

 

HashSet Yapısı

-Elemanlar giriş sırasına göre kaydedilmez.

-Kopya eleman bulundurmazlar.

 

[js]import java.util.HashSet;
import java.util.Iterator;

public class HashHash {

public static void main(String[] args) {

HashSet <String> hs=new HashSet <String>(); // Tip belirtmek zorunda değiliz.
boolean b1,b2;

b1=hs.add("Robin"); //ekleme başarılı olursa true dönecek.
hs.add("Ted");
hs.add("Marshall");
hs.add("Lily");
hs.add("Barney");
hs.add("Victoria");
b2=hs.add("Robin"); //İkinci kez aynı elemanı eklemeyecek ve false dönecek.

Iterator i=hs.iterator();

System.out.println(b1+ "- "+ b2);

while(i.hasNext()){
System.out.println(i.next());

}
}
}
[/js]

[js]Çıktı:

true- false
Ted
Barney
Victoria
Marshall
Robin
Lily
[/js]

 

LinkedHashSet Yapısı

-Elemanlar bağlıdır. Yani giriş sırasına göre kaydedilirler.

-Kopya eleman bulundurmazlar.

 

[js]import java.util.LinkedHashSet;
import java.util.Iterator;

public class LinkedhashSet {

public static void main(String[] args) {

LinkedHashSet lhs=new LinkedHashSet(); //Tip belirtmek zorunda değiliz.

lhs.add("A");
lhs.add("B");
lhs.add("C");
lhs.add("D");
lhs.add("E");
lhs.add(5);

boolean a=lhs.add("A"); //Kopya eleman barındırmadığından false döndürecek.

System.out.println(a);

Iterator i=lhs.iterator();

while(i.hasNext()){

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

}[/js]

 

[js]Çıktı:

false
A
B
C
D
E
5
[/js]

TreeSet Yapısı

-Elemanları sıralı bir şekilde tutar. (A-Z..Küçükten büyüğe)

 

TreeSet’e Özel Metotlar:

-First() : İlk elemanı gösterir.

-headSet() : Parametre olarak gönderilen değere kadar olan elemanları gösterir.

-subSet() : Parametre olarak gönderilen değerler arasındaki elemanları gösterir.

-tailSet() : Parametre olarak gönderilen değerden büyük olanları gösterir.

 

[js]import java.util.TreeSet;
import java.util.Iterator;

public class treeSet {

public static void main(String[] args) {

TreeSet <Integer> ts=new TreeSet <Integer>();

ts.add(5);
ts.add(7);
ts.add(1);
ts.add(0);

System.out.println(ts);
System.out.println(ts.first());
System.out.println(ts.last());
System.out.println(ts.tailSet(2));
System.out.println(ts.headSet(7));
System.out.println(ts.subSet(0, 7));

Iterator i=ts.tailSet(2).iterator(); //Elemanları iterator kullanarak da yazdırabiliyoruz

while(i.hasNext()){

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

}[/js]

[js]Çıktı:

[0, 1, 5, 7]
0
7
[5, 7]
[0, 1, 5]
[0, 1, 5]
5
7
[/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