Đlgili konular: Collection, Set, HashSet, Comparable, Comparator, TreeMap, Collections.synchronizedSortedSet(SortedSet), Serialized Form

Benzer belgeler
Class PriorityQueue. Class PriorityQueue<E> java.lang.object java.util.abstractcollection<e> java.util.abstractqueue<e> java.util.

Class LinkedHashMap. Class LinkedHashMap java.lang.object java.util.abstractmap java.util.hashmap java.util.linkedhashmap. Kılgıladığı arayüzler:

Class LinkedHashSet. Class LinkedHashSet java.lang.object java.util.abstractcollection java.util.abstractset java.util.hashset java.util.

Kılgıladığı arayüzler: Serializable, Cloneable, Map<K,V>, NavigableMap<K,V>, SortedMap<K,V>

Class HashMap. Class HashMap java.lang.object java.util.abstractmap java.util.hashmap. Kılgıladığı Arayüzler: Cloneable, Map, Serializable

Class HashSet. Metotlar. Class HashSet java.lang.object java.util.abstractcollection java.util.abstractset java.util.hashset

İlgili Konular: Object.equals(java.lang.Object), Object.hashCode(), rehash(), Collection, Map, HashMap, TreeMap, Serialized Form

Kılgılayan Sınıflar: AbstractMap, Attributes, HashMap, Hashtable, IdentityHashMap, RenderingHints, TreeMap, WeakHashMap

Interface Comparator. Kılgılayan sınıf: Collator. Bildirimi: public interface Comparator

ArrayList(int initialcapacity) Sığası (capacity) parametrenin belirlediği sayıda olan bir dizi oluşturur.

Class LinkedList java.lang.object java.util.abstractcollection java.util.abstractlist java.util.abstractsequentiallist java.util.

ArrayList Uygulamaları

I Java Veri Yapıları 1

Class Vector. Class Vector java.lang.object java.util.abstractcollection java.util.abstractlist java.util.vector. Kılgıladığı arayüzler:

Yığıtın en üstündeki öğeyi değer olarak alır; ama onu yığıttan almaz, yerinde bırakır.

İST 264 VERİ YAPILARI Bitirme Sınavı A Grubu

CharArrayReader. Kılgıladığı Arayüzler: Bildirimi: Değişkenleri (fields): java.io.reader Sınıfından Kalıtsal Gelen Değişken:

KUYRUKLAR QUEUES. Doç. Dr. Aybars UĞUR

Nesneler için torbalar (Collections) Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 12 1

Görsel Programlama DERS 03. Görsel Programlama - Ders03/ 1

Görsel Programlama DERS 04. Görsel Programlama - Ders04/ 1

ByteArrayOutputStream

Binary Search. (Yarılama) Bölüm Dizide Bir Öğe Arama

HASH(KARMA) TABLOSU VERİ YAPISI

İki Yöntem. Komposizyon (Composition) Kalıtım (Inheritance)

Sınıfların Tekrardan Kullanılması. Altuğ B. Altıntaş 2003 Java ve Yazılım Tasarımı - Bölüm 5 1

Queue (kuyruk) Arayüzü

Bölüm 8. Ayrık Küme. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 16

HashMap O rnekleri. Örnek: /* U : Uranyum Au : Altın Ag : Gümüş Li : Lityum H : Hidrojen Altın Yeni değer : Radyum */

KUYRUKLAR. Doç. Dr. Aybars UĞUR

Scanner Sınıfı. Class Scanner. java.util. java.lang.object java.util.scanner. Kılgıladığı Arayüzler: Closeable, AutoCloseable, Iterator<String>

Java Koleksiyonları (Java Collections)

Java Programlama Dilinde Veri Tipleri. Yrd. Doç. Dr. Aybars UĞUR

Bire-bir Sahiplik İlişkisi ile İlgili Sorular:

/*Aşağıda ki kodları doğru şekilde anlar ve kullanırsanız java da sınıfları biraz da olsa anlamış olursunuz.*/

BufferedReader. Kılgıladığı Arayüzler: Closeable, AutoCloseable, Readable. Altsınıfları: LineNumberReader. Bildirimi: public class BufferedReader

BİL-141 Bilgisayar Programlama I (Java)

YZM 2116 Veri Yapıları

1. Aşağıdaki program parçacığını çalıştırdığınızda result ve param değişkenlerinin aldığı en son değerleri ve programın çıktısını yazınız.

public class SalesLineItem // Java { private int quantity; private ProductSpecification description; public Money getsubtotal() {...

Java. Mustafa OF. Kocaeli Üniversitesi Kocaeli Meslek Yüksekokulu (Mart 2007)

Java ile Nesneye Yönelik Programlama (Object Oriented Programming)

BAĞLAÇLI LİSTELER LINKED LISTS

Merge (Bireşim) Algoritmayı önce bir örnek üzerinde açıklayalım.

SIRALAMA SORTING. Yrd. Doç. Dr. Aybars UĞUR

Veri Yapıları ve Algoritmalar dönem

BAĞLAÇLI LİSTELER LINKED LISTS

İÇİNDEKİLER VII İÇİNDEKİLER

Insertion Sort. (Sokuşturma Sıralaması)

Bölüm 6. Karma. Olcay Taner Yıldız. O. T. Yıldız, C && Java ile Veri Yapılarına Giriş, Boğaziçi Üniversitesi Yayınevi, / 31

VERİ YAPILARI DERS NOTLARI BÖLÜM 5 QUEUE (KUYRUK) Yard. Doç. Dr. Deniz KILINÇ

// hataları işaret eden referans

Yigin & Kuyruk {\} /\ Suhap SAHIN Onur GÖK

Nesne tabanlı programlama nesneleri kullanan programlamayı içerir. Bir nesne farklı olarak tanımlanabilen gerçek dünyadaki bir varlıktır.

BMÜ-112 ALGORİTMA VE PROGRAMLAMA-II LABORATUARI DENEY-2 FÖYÜ

InputStream Sınıfı. Class InputStream. java.io. java.lang.object java.io.inputstream. Kılgıladığı Arayüzleri: Closeable, AutoCloseable

1 C#.NET GELİŞTİRME ORTAMI 1 Visual Studio 2015 Arayüzü 4 Menu Window 6 Solution Explorer 7 Properties Window 8 Server Explorer 8 Toolbox 9

Cybersoft Bilişim Teknolojileri Sunucu Tarafı Programlaması Kursu Final soruları. Tarih: 27 Kasım 2010 Saat: 13:30 Süre: 3 saat

Arasınav Örnek Soruları Bahar 2018

CSSigner, Cybersoft firması tarafından geliştirilmiş açık kaynak kodlu e-imza yazılım kütüphanesidir.

Java dili, aşağıdakiler de dahil olmak üzere çok çeşitli denetleyici türlerine sahiptir.

BİL132 Bilgisayar Programlama II

Dizi türündeki referanslar, dizi nesnelerine bağlanmaktadır. Dizi referansları tanımlamak bu dizinin hemen kullanılacağı anlamına gelmez...

protected Reader() Karekter akımı okumak için Reader nesnesi yaratır. Yaratılan nesne kendi kendisiyle eşzamanlı olur.

Final Sınavı Örnek Soruları Bahar 2018

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

SIRALAMA SORTING. Doç. Dr. Aybars UĞUR

BIL1202 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ

Dizi ( Array ) ve Dizgi ( String )

Aynı tipten çok sayıda değişken topluluğudur. X Y Score1 Score2 (0) (1) (2)...

Spring Framework Eğitimi

JAVADA DİZİ İŞLEMLERİ

static void dizi_24() { Random rnd = new Random(); int [] tutulan=new int[10]; int dogru;

NESNE YÖNELİMLİ PROGRAMLAMA HAFTA # 4. Yrd.Doç.Dr.Hacer Karacan

YMT219 VERİ YAPILARI ÖDEV-1

Java: printf() Metodu İle Çıktıyı Biçemleme

MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 12: Grafik Kullanıcı Arayüzü (Graphical User Interface-GUI)

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

İçerik. Temel Kavramlar. Nesne Nedir? 1. Nesne : Örnek. Nesne Nedir? 2. Geçen hafta: Bu hafta: BBS-515 Nesneye Yönelik Programlama

NESNEYE DAYALI PROGRAMLAMA 9. HAFTA UYGULAMA DERSİ

Java da Soyutlama ( Abstraction ) ve Çok-biçimlilik ( Polymorphism )

Ders - 7 while döngüsü

Progress Barlı, FTP Dosya Upload Appleti

JAVA ile DAĞITIK PROGRAMLAMA

Dağıtık Sistemler CS5001

Dağıtık Sistemler CS5001

Nesne Yönelimli Programlama

BMÜ-111 ALGORİTMA VE PROGRAMLAMA AKIŞ KONTROLÜ YRD. DOÇ. DR. İLHAN AYDIN

NESNEYE DAYALI PROGRAMLAMA 11. HAFTA UYGULAMA DERSİ

Mantıksal (Logic) Operatörler

İNÖNÜ ÜNİVERSİTESİ MÜHENDİSLİK FAKÜLTESİ BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ 2. SINIF 1. DÖNEM VERİ YAPILARI DERSİ LABORATUAR ÖDEVİ

8. Bölüm Torbalar (Collections) Java ile Nesne Merkezli ve Fonksiyonel Programlama Akın Kaldıroğlu

Programlama Dilleri 3

Chain of Responsibility Tasarım Şablonu KurumsalJava.com

Başlangıç 2. Generic İfadeler 3. Arayüzler (Interfaces) 5. LINQ ile Sık Kullanılan Arayüzler 7. Koleksiyon Sınıfları 14

Karşılaştırma İşlemleri ve Koşullu İfadeler

Koleksiyonlar (Collections)

Alıştırmalar 2 - Dağıtık Sistemler. Alıştırma 2. Prof. Dr. Th. Letschert Çeviri: Turgay Akbaş FB MNI 16. Mai 2013

Belirli bir iş bir çok kez tekrarlanacaksa, programda bu iş bir kez yazılır ve döngü deyimleriyle istenildiği kadar tekrar tekrar çalıştırılabilir.

Transkript:

Class TreeSet java.util Class TreeSet java.lang.object java.util.abstractcollection java.util.abstractset java.util.treeset Kılgıladığı arayüzler: Cloneable, Collection, Serializable, Set, SortedSet Bildirimi: public class TreeSet extends AbstractSet implements SortedSet, Cloneable, Serializable TreeSet sınıfı, Java Collections Framework un bir üyesidir TreeSet sınıfı kılgıladığı arayüzlerin metotlarını kullanır. Doğal olarak öğelerine artan yönde sıralı erişim olur. Ama istenirse, erişim azalan yöne çevrilebilir. add, remove ve contains metotlarının zaman karmaşası log(n) dir. Đlgili konular: Collection, Set, HashSet, Comparable, Comparator, TreeMap, Collections.synchronizedSortedSet(SortedSet), Serialized Form Kurucular TreeSet() Öğelerini doğal sırada tutacak boş bir küme yaratır. TreeSet(Collection c) Verilen koleksiyonu TreeSet yapısına dönüştürür; dolayısıyla koleksiyon doğal sırasına girmiş olur TreeSet(Comparator c) Verile Comparator a göre sıralı öğe tutacak boş bir küme yaratır. TreeSet(SortedSet s) Verilen sıralı kümedeki öğeleri aynı sırayla tutan bir TreeSet yaratır. Metotlar boolean add(object o) Verilen öğe kümede yoksa, onu kümeye ekler. boolean addall(collection c) 1

void Object Verilen koleksiyonu kümeye ekler. Tabii yapı TreeSet yapısıdır. clear() Kümenin bütün öğelerini siler; boş bir küme yaratır. clone() TreeSet nesnesinin bir kopyasını yaratır. Comparator comparator() Kümeyi sıralayacak comparatoru verir. Ancak kümede doğal sıra varsa, metot null değer verir. boolean contains(object o) Aranan öğe kümede ise true değilse false değer verir. Object SortedSet boolean Iterator Object first() Sıralı kümenin en küçük öğesini verir. headset(object toelement) Kümede toelement den küçük olan öğeleri verir. isempty() Küme boş ise true verir. iterator() Kümenin öğelerini sırayla tarayacak iterator ü verir last() Sıralı kümenin en büyük öğesini verir. boolean remove(object o) Verilen öğeyi kümeden siler. int SortedSet SortedSet size() Kümedeki öğe sayısını verir. subset(object fromelement, Object toelement) Sıralı kümede fromelement den başlayıp toelement öğesine kadar olan bütün öğeleri verir. Alt uç dahil, üst uç hariçtir. tailset(object fromelement) Sıralı kümede fromelement ve sondan sonraki öğeleri (kuyruk) verir. java.util.abstractset sınıfından kalıtımla gelen metotlar equals, hashcode, removeall java.util.abstractcollection sınıfından kalıtımla gelen metotlar containsall, retainall, toarray, toarray, tostring java.lang.object sınıfından kalıtımla gelen metotlar finalize, getclass, notify, notifyall, wait, wait, wait java.util.set arayüzünden kalıtımla gelen metotlar containsall, equals, hashcode, removeall, retainall, toarray, toarray 2

Örnek: Aşağıdaki program Integer tipinden nesneler tutan bir TreeSet yaratıyor. Bu kümeye başka nesne tipinden öğe eklersek, koşma anında java.lang.classcastexception hatası verir. import java.util.*; public class TreeSetDemo { public static void dotreesetexample() { final int MAX = 10; Set ss = new TreeSet(); // TreeSet ambarını yaratır for (int i = 0; i < MAX; i++) { System.out.println(" - Ambara konulan Integer :" + i); ss.add(new Integer(i)); // tip uyuşmazlığı nedeniyle bu öğe eklenemez // ss.add((object)"kitap"); Iterator i = ss.iterator(); // iterator yaratıyor // ambardaki öğeler yazdırılıyor while (i.hasnext()) { System.out.print("\t" + i.next()); dotreesetexample(); /* Çıktı: - Ambara konulan Integer :0 - Ambara konulan Integer :1 - Ambara konulan Integer :2 - Ambara konulan Integer :3 - Ambara konulan Integer :4 - Ambara konulan Integer :5 - Ambara konulan Integer :6 - Ambara konulan Integer :7 - Ambara konulan Integer :8 - Ambara konulan Integer :9 0 1 2 3 4 5 6 7 8 9 */ import java.util.set; import java.util.treeset; import java.util.iterator; 3

public class SetDemo { public static void dotreesetexample() { // TreeSet ambarını yaratıyor Set treeset = new TreeSet(); // Öğeleri ambara yerleştiriyor for (int i = 10; i < 15; i++) { treeset.add(new Integer(i)); // farklı tipten nesne girilirse koşma hatası doğar // treeset.add("a string"); System.out.print("TreeSet içindeki öğeler : "); Iterator i = treeset.iterator(); while (i.hasnext()) { System.out.print(i.next() + "\t"); /* Çıktı: TreeSet içindeki öğeler : 10 11 12 13 14 */ Örnek: import java.util.*; public class TreeSetExample{ System.out.println("TreeSet Example!\n"); TreeSet <Integer>tree = new TreeSet<Integer>(); tree.add(12); tree.add(23); tree.add(34); tree.add(45); Iterator iterator; iterator = tree.iterator(); System.out.print("Tree set data: "); //Displaying the Tree set data while (iterator.hasnext()){ System.out.print(iterator.next() + " "); //Check impty or not if (tree.isempty()){ System.out.print("Tree Set is empty."); 4

else{ System.out.println("Tree Set size: " + tree.size()); //Retrieve first data from tree set System.out.println("First data: " + tree.first()); //Retrieve last data from tree set System.out.println("Last data: " + tree.last()); if (tree.remove(30)){ System.out.println("Data is removed from tree set"); else{ System.out.println("Data doesn't exist!"); System.out.print("Now the tree set contain: "); iterator = tree.iterator(); //Displaying the Tree set data while (iterator.hasnext()){ System.out.print(iterator.next() + " "); System.out.println("Now the size of tree set: " + tree.size()); //Remove all tree.clear(); if (tree.isempty()){ System.out.print("Tree Set is empty."); else{ System.out.println("Tree Set size: " + tree.size()); Örnek: Aşağıdaki program ArrayList içindeki bütün öğeleri TreeSet koleksiyonuna eklemektedir. TreeSet e eklenen öğeler kendiliğinden sıralanır. Aşağıdaki örnekte, ilk altı sayının adları TreeSet içine, alfabetik sıraya konularak yerleştirilmiştir. package koleksiyon; import java.util.*; public class Koleksiyon { List a = new ArrayList(); a.add("bir"); 5

a.add("đki"); a.add("üç"); a.add("dört"); a.add("beş"); a.add("altı"); System.out.println("ArrayList = " + a); Set ts = new TreeSet(); ts.addall(a); System.out.println("TreeSet = " + ts); 6