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

Slides:



Advertisements
Benzer bir sunumlar
Programlama-II (Java ile Bilgisayar Programlama)
Advertisements

Ders İçeriği Ağaç Veri Modeli Tanım ve Gerçekleştirim İkili Ağaç
MIT503 Veri Yapıları ve algoritmalar Veri Yapılarına Giriş
SCANNER SINIFI ve KLAVYEDEN VERİ OKUNMASI
JavaScript Birinci Hafta.
Support.ebsco.com EBSCOhost Collection Manager Selector Accounts(Seçici Hesaplar) Kullanıcı Kılavuzu.
Listeler.
Yığın ve Kuyruk.
Ders İçeriği Bağlantılı Liste İki Yönlü Bağlantılı Liste
Nesneye Yönelik Programlama
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Programlama-II (Java ile Bilgisayar Programlama)
Nesneye Dayalı Programlama
Diziler & Kolleksiyonlar.  Çalışılan tüm objelerin bilinmemesi  Dinamik sayıda obje ile çalışmak  Benzer işlem yapılacak objeleri bir arada tutmak.
Veri Yapıları ve Algoritmalar dönem
Diziler PHP.
Bölüm 4 – Kontrol İfadeleri:1.kısım
EDUTIME Java Day 4 Serdar TÜRKEL.
P p 8. Ünitede yinelemeli programlamanın teknikleri anlatılmaktadır. p p Gördüğünüz gibi, yinelemeli programlama bir problemin içinde problemin küçük parçalarını.
C++ STACK SINIFI.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Nesneye Yönelik Programlama Dr. Pelin GÖRGEL
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Diziler.
DİZİLER (Arrays) Yrd.Doç.dr. Cİhad demİrlİ
MIT503 Veri Yapıları ve algoritmalar Veri Yapılarına Giriş
Veri Yapıları Ve Algoritmalar
C# Metot Overloading (Aşırı yükleme)
Sorular? Öneriler?. Referanslar Referanslar (Tekrar) Eğer aşağıdaki gibi yazarsak ne olur: int x; double y; char c; ???
FIRAT ÜNİVERSİTESİ TEKNOLOJİ FAKÜLTESİ DERLEYENLER: Ahmet Can ÇAKIL Ali Murat GARİPCAN Özgür AYDIN Şahin KARA KONTROL : Prof. Dr. Asaf VAROL KONU : LİSTELERE.
NESNEYE DAYALI PROGRAMLAMA
Görsel C# Programlama Güz 2009 (6. Hafta).
Ses Kontrol Metodlar ile ilgili son birkaç söz Tekrar: Programlama için başlıca 3 model.
P p 5. Bolum en cok kullanilan veri yapilarindan biri olan listeleri anlatmaktadir. p p Bu sunum da listeler uzerinde en cok yapilan islemleri aciklamaktadir.
ÇOK BİÇİMLİLİK POLYMORPHISM
Veri Yapıları Yrd. Doç. Dr. Altan MESUT.
Kalıtım.
JAVA’DA DÖNGÜLER.
EDUTIME Java Day 8 Serdar TÜRKEL.
JAVA’DA DİZİLER Dr.Galip AYDIN.
Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü ++ Bilişim Enstitüsü C ++ Veri.
Dizi ve ArrayList.
Trees, Vectors, Iterators. ADT Abstract Data Type (ADT) vs implementation -Soyut Veri Türleri - Uygulamaları.
Ders İçeriği Liste Soyut veri yapısı (ADT)
Ders 1: ARRAYLIST Hazırlayan : Yrd. Doç. Dr. Barış GÖKÇE
BAZI VERİ YAPILARI Yılmaz KILIÇASLAN. Sunu Planı Bu derste, çizgeler gibi bazı teorik nesnelerin bellekte nasıl tutulduğunu ve algoritmalarca nasıl işlendiğini.
Visual Basic Windows Programlama.
Bölüm 5 Nesneler ve Metotlar
Bil 102 Bölüm 6 Diziler.
String class String karakterler dizisidir
Python Aslı Ergün.
Bölüm 7 - Diziler İçerik 7.1 Giriş 7.2 Diziler 7.3 Dizileri Tanımlama 7.4 Dizileri Kullanan Örnekler 7.5 Referanslar ve Referans Parametreler.
Bilgisayar programlarının en büyük avantajı, kullanıcının işini kolaylaştırmalarıdır. Her bilgisayar programı bunu değişik metotlar kullanarak sağlar.
Outline 4.1 Giriş 4.2 Algoritmalar 4.3 Pseudocode 4.4 Kontrol İfadeleri 4.5 if tek-seçimli ifadeler 4.6 if else seçimli ifadeler 4.7 while döngü ifadeleri.
JAVA PROGRAMLAMA ORNEKLER
Görsel C# ile Windows Programlama
ODTU-SEM Copyright (c) 2011 Kalıtım(Inheritance) Subclass lar tüm method ve attributes larının superclass ından alırlar. Bu işlem için extends keyword.
Veri yapıları Hafta3 Dizi Yapıları.
* Aynı veri türüne veya sınıfa ait birbirleri ile ilişkili veriler topluluğu. * Dizinin elemanları basit veri türüne ait veya nesneye ait olabilir. Bu.
Yığıt Soyut Veri Tipi (Stack ADT) Yığıt Veri Yapısı
BSM447 – MOBİL UYGULAMA GELİŞTİRME Öğr. Gör. Nevzat TAŞBAŞI 6. Hafta.
STRING FONKSİYONLARI Dim ders As String
Çizgeler Çizge G=(V,E), ikilisine denir, burada V sonlu bir kümedir, E ise bu kümenin elemanları arasında ikili bir bağıntıdır. V kümesine G çizgesinin.
5- class & object Nesne Yönelimli Programlama - i
Mobil uygulama geliştirme pelin yıldırım Fatma bozyiğit
Kurucular(Yapıcılar), Yıkıcılar
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Yapılar, Kolleksiyonlar,Kutulama,Indeksçi
Sunum transkripti:

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

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

Collection Classes 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 - Avantajları 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

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

isEmpty: Liste boş mu? size: Kaç eleman var Collection Classes 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 : List 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 List arayüzü, verileri liste şeklinde tutmaya yarar. Bu listenin herhangi bir noktasına veri ekleyebilir ya da silebiliriz. List<String> al = new ArrayList<String>(); List<String> al2 = new ArrayList<String>(); 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); al.remove("ali"); System.out.println("Liste 1 :" + al); al2.remove(0); System.out.println("Liste 2 :" + al2); al2.removeAll(al);

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

Collection Classes : Queue 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. Queue<String> q = new LinkedList<String>(); for (int i = 0; i < 10; i++) {     q.offer(String.valueOf(i)); }     System.out.println(q.poll());

Collection Classes : Queue 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 System.out.println("element: " + queue.element()); //If the queue is empty the method just returns false. System.out.println("poll: " + queue.poll()); //If the queue is empty a null value will be returned. System.out.println("peek: " + queue.peek());

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

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