Set:
TreeSet: Elemanlar red-black tree yapısında, değerlerine göre sıralı tutulur.
HashSet: Elemanlar bir hash tablosunda tutulur.
LinkedHashSet: Hash tablosunu linked list şeklinde tutar.
Biz HashSet'i küçük bir programla örneklendirelim.
import java.util.HashSet; import java.util.Set; public class SetExample { public static void main(String[] args) { String[] elemanlar = { "Java", "is", "Java", "language", "programming","is" }; Set< string > kume = new HashSet< string >(); for (String el : elemanlar){ if (!kume.add(el)) { System.out.println("eleman iki kez giriliyor:" + el); } } System.out.println(kume.size()+" farkli eleman eklendi"); } }
Programın çıktısı aşağıdaki gibidir.
List:
ArrayList: Elemanlar eklendikçe kapasitesi artan dizi şeklinde tutulur.
Linked List: Elemanlar bağlı liste şeklinde tutulur.
ArrayList'e bir örnek verecek olursak;
import java.util.ArrayList; public class ArrayListOrnek { public static void main(String[] args) { String[] lis = {"A","B","C","C","D","E","F","G"}; ArrayList< string > liste = new ArrayList< string >(); for (String s : lis) { liste.add(s); } System.out.println(liste); } }
Programın çıktısı aşağıdaki gibidir.
Queue:
FIFO(First in First out) yapısındadır. Yani ilk giren ilk çıkar.
Kuyruğu(queue) bir programla örneklendirecek olursak;
import java.util.PriorityQueue; import java.util.Queue; public class QueueOrnek { public static void main(String[] args) { Queue< integer > kuyruk = new PriorityQueue< integer >(); kuyruk.add(new Integer(1)); kuyruk.add(new Integer(2)); kuyruk.add(new Integer(3)); kuyruk.add(new Integer(4)); System.out.println(kuyruk.poll()); System.out.println(kuyruk.poll()); System.out.println(kuyruk.poll()); System.out.println("Size="+kuyruk.size()); } }Programın çıktısı aşağıdaki gibidir.
Map:
Tree Map: Anahtar-değer ikilisini red black tree yapısında tutar.
HashMap: Elemanları hashtable yapısında tutar.
LinkedHashMap: Anahtar-değer ikilisini linked list yapısında
tutar.
HashMap yapısıyla ilgili bir program örneği gösterelim.
import java.util.HashMap; import java.util.Map; public class MapOrnek { public static void main(String[] args) { String[] kelimeler = {"İstanbul","İstanbul","Ankara", "Çanakkale","İzmir","Java","İzmir","Java","İstanbul"}; Map< string, integer="" > m = new HashMap< string, integer="" >(); for (String kelime : kelimeler) { Integer sayi = m.get(kelime); m.put(kelime, (sayi==null)?1:sayi+1); } System.out.println(m.size()+" farkli kelime"); System.out.println(m); } }
Programın çıktısı aşağıdaki gibidir.