Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Java Programlama Koleksiyon(Collection) Sınıfları.

Benzer bir sunumlar


... konulu sunumlar: "Java Programlama Koleksiyon(Collection) Sınıfları."— Sunum transkripti:

1 Java Programlama Koleksiyon(Collection) Sınıfları

2 Koleksiyon(Collection) Sınıfları Nedir? Koleksiyon(Collection) Sınıflarının Avantajları Queue, Vector, Stack, ArrayList, LinkedList Ders sonunda aşağıdakileri öğrenmiş olacaksınız

3 Birden fazla elemanı içinde tutan bir veri yapısı. Elemanların saklanmasını, alınmasını, değiştirilmesini, ve elemanlar hakkında bilgi verilmesini sağlar. Elemanlar ile ilgili farklı işlemlere olanak verir Elemanları sıralı tutma işlemine olanak verir Collection Classes

4 Programlamayı kolaylaştırmak Programların çalışma hızını artırmak Farklı programlar arasında uyumu sağlamak Öğrenme zorluklarını aşmak Yeni arayüzler geliştirmeyi kolaylaştırmak Yazılımın tekrar kullanımını (reuse) artırmak Collection Classes - Avantajları

5 Collection Classes

6 Collection: Bütün collection sınıfları bu ortak arayüzü gerçekleştirir. Collection’ların en genel halini gösterir Set: Aynı elemandan birden fazla içermeyen collection. Matematikdeki “küme” kavramını gösterir arayüz. List: Elemanların sıralı yer aldığı collection. Aynı elemandan birden fazla içerebilir. Liste kavramını gösterir arayüz. Queue: Kuyruk kavramını gösterir arayüz. Standart Collection arayüzü dışında ek metodlar içerir. Map: Anahtarları elemanlara eşleştiren bir yapı arayüzü. Tekrarlı anahtarlar içeremez. SortedSet: Sıralı küme arayüzü. Bu arayüzü gerçekleştiren yapıda elemanlar artan değerlerde sıralı tutulurlar. SortedMap: Bu arayüzü gerçekleştiren sınıfta anahtar değerleri sıralı olarak tutulur. Collection Classes

7 public interface Collection extends Iterable { // Basic operations int size(); boolean isEmpty(); boolean contains(Object element); boolean add(E element); //optional boolean remove(Object element); //optional Iterator iterator(); // Bulk operations boolean containsAll(Collection c); boolean addAll(Collection c); //optional boolean removeAll(Collection c); //optional boolean retainAll(Collection c); //optional void clear(); //optional // Array operations Object[] toArray(); T[] toArray(T[] a); } Collection Classes

8 isEmpty: Liste boş mu? size: Kaç eleman var contains: Belirtilen eleman var mı? add, remove: Ekle, sil iterator: Tarayıcı nesnesi ver Iterator iterator = collection.iterator(); while (iterator.hasNext()){ Object element = iterator.next(); } Collection Classes

9 Java’da Liste arayüzünün iki ayrı gerçeklemesi vardır. bunlardan ilki yukarıda kullandığımız ArrayList’dir. İkincisi ise LinkedList. Bu iki gerçekleme de birbirlerine değişik konularda avantaj sağlarlar. Örneğin ArrayList rastgele erişim konusunda LinkedList’e göre çok avantajlı iken. LinkedList ise araya eleman sokmakta ArrayList’e göre çok üstündür. Collection Classes : List

10 List arayüzü, verileri liste şeklinde tutmaya yarar. Bu listenin herhangi bir noktasına veri ekleyebilir ya da silebiliriz. Collection Classes : List List al = new ArrayList (); List al2 = new ArrayList (); al.add("ahmet"); al.add(0, "mehmet"); al.add(0, "ali"); al.add(0, "veli"); System.out.println(al); System.out.println(al2); al2.addAll(al); System.out.println(al2); al.remove("ali"); System.out.println("Liste 1 :" + al); al2.remove(0); System.out.println("Liste 2 :" + al2); al2.removeAll(al); System.out.println("Liste 2 :" + al2);

11 Get, set ve iterator komutları Collection Classes : List System.out.println(liste2.get(3)); liste2.set(3, "99"); System.out.println(liste2.get(3)); for (int i = 0; i < liste2.size(); i++) { String string = liste2.get(i); System.out.print(string); } ListIterator li = liste2.listIterator(); while (li.hasNext()) { String string = li.next(); System.out.print(string); }

12 Listeye benzemesine rağmen, kuyruk daki mantık FIFO(First in First Out) kuralıyla belirlenir. Offer():Kuyruğa eleman eklemek için kullanılır başarısız return null Add():Kuyruğa eleman eklemek için kullanılır başarısız ise exception Poll(): Kuyruğun başındaki elemanı alıp kuyruktan kaldırır. Remove(): Kuyruğun başındaki elemanı alıp kuyruktan kaldırır. Excp. Peek(): Kuyrukdaki sıradaki elemana ulaşır. Collection Classes : Queue Queue q = new LinkedList (); for (int i = 0; i < 10; i++) { q.offer(String.valueOf(i)); } for (int i = 0; i < 10; i++) { System.out.println(q.poll()); }

13 Queue queue = new LinkedList(); //Using the add method to add items. //Should anything go wrong an exception will be thrown. queue.add("item1"); queue.add("item2"); //Using the offer method to add items. //Should anything go wrong it will just return false queue.offer("Item3"); queue.offer("Item4"); //Removing the first item from the queue. //If the queue is empty a java.util.NoSuchElementException will be thrown. System.out.println("remove: " + queue.remove()); //Checking what item is first in line without removing it //If the queue is empty a java.util.NoSuchElementException will be thrown. System.out.println("element: " + queue.element()); //Removing the first item from the queue. //If the queue is empty the method just returns false. System.out.println("poll: " + queue.poll()); //Checking what item is first in line without removing it //If the queue is empty a null value will be returned. System.out.println("peek: " + queue.peek()); Collection Classes : Queue

14 Listeye benzemesine rağmen, kuyruk daki mantık LIFO(Last in First Out) kuralıyla belirlenir. push():Kuyruğa eleman eklemek için kullanılır pop(): Kuyruğun başındaki elemanı alıp kuyruktan kaldırır. peek(): Kuyrukdaki sıradaki elemana ulaşır. empty(): Liste boş mu değil mi? Collection Classes : Stack

15 Map m = new HashMap (); for (int i = 0; i < 10; i++) { m.put(i, String.valueOf(i) + " değer"); } Set ks = m.keySet(); Iterator i = ks.iterator(); while (i.hasNext()) { Integer key = i.next(); System.out.print(key + " "); System.out.println(m.get(key)); } Collection Classes : Map

16 Alıştırma: Bir Listenin hem başına, hem de sonuna veri ekleyebileceğim bir sınıf tasarımı. Collection Classes :


"Java Programlama Koleksiyon(Collection) Sınıfları." indir ppt

Benzer bir sunumlar


Google Reklamları