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

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

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

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

HASH(KARMA) TABLOSU VERİ YAPISI

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

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

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

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

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

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

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

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

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

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

ByteArrayOutputStream

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

I Java Veri Yapıları 1

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

ArrayList Uygulamaları

Bir c sınıfının doğal sıralaması ile tutarlı olması (be consistent with equals) demek, c sınıfı içindeki her e1 ve e2 nesnesi için

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

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

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

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

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

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

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

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

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

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

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

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

JAVA PROGRAMLAMA DİLİ ÖZELLİKLERİ

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

Java C.Thomas Wu 2004b kitabından Türkçeleştirilerek ve örneklendirilerek hazırlanmıştır.

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.

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

BİL-141 Bilgisayar Programlama I (Java)

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

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

BİL-141 Bilgisayar Programlama I (Java)

NESNEYE DAYALI PROGRAMLAMA 9. HAFTA UYGULAMA DERSİ

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

BİL132 Bilgisayar Programlama II

Sınıf üyeleri: değişkenler (fields) and metotlar (methods) Değişkenler: nesne içerisindeki değişkenlerdir Temel veri tipi veya sınıf tipi

Java Class Yapısında Finalize Metotunun Kullanımı

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

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

// hataları işaret eden referans

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

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

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

Bölüm 24. Java Ağ Uygulamaları 24.1 Java Appletleri. Bir Applet in Yaşam Döngüsü:

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

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

Business Delegate Tasarım Şablonu KurumsalJava.com

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

NESNE TABANLI PROGRAMLAMA-1 DERS UYGULAMALARI (22 EYLÜL - 14 KASIM

KUYRUKLAR. Doç. Dr. Aybars UĞUR

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

Temel Kavramlar BBS-515 Nesneye Yönelik Programlama

Java Programlamada Paket Yapısı Ve Import

SINIFLARIN TEKRAR KULLANILMASI

Java, java.util paketi içinde mevcut olan Date sınıfını sağlar, bu sınıf güncel tarih ve zamanı kapsüllemektedir.

EMT2226 Nesne Yönelimli Programlamaya Giriş

Chain of Responsibility Tasarım Şablonu KurumsalJava.com

Spring Framework Eğitimi

BMH-303 Nesneye Yönelik Programlama

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

BİL-141 Bilgisayar Programlama I (Java)

Dağıtık Sistemler CS5001

Java Koleksiyonları (Java Collections)

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

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

Progress Barlı, FTP Dosya Upload Appleti

Ruby. Prof.Dr.Timur Karaçay Başkent Üniversitesi

Operator Aşırı Yükleme (Operator OverLoading)

7. HAFTA. Erişim Belirleyiciler

BAĞLAÇLI LİSTELER LINKED LISTS

PAKET ERİŞİMLERİ SINIFLARIN YENİDEN KULLANIMI. BMU-112 Algoritma ve Programlama-II Yrd. Doç.Dr. İlhan AYDIN

İ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İ

BAĞLAÇLI LİSTELER LINKED LISTS

MAT214 BİLGİSAYAR PROGRAMLAMA II DERSİ Ders 18: Formatlı Grafik Kullanıcı Arayüzü Oluşturma

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

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü

Güz Yarıyılı Balıkesir Üniversitesi Bilgisayar Mühendisliği Bölümü

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

Merge Sort Bireşen Sıralama

Arayüz soyut metotların oluşturduğu bir koleksyondur. Bir sınıf arayüzü çalıştırırken arayüzün sahip olduğu soyut metotları da miras alır.

public static int Toplam int x, int y

Dağıtık Sistemler CS5001

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

Üst Düzey Programlama

Örnek 1: Programı yazın ve çalıştırın.

DÖNGÜLER BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA GİRİŞ LABORATUARI BMÜ-101 ALGORİTMA VE PROGRAMLAMAYA DENEY-4 FÖYÜ GİRİŞ LABORATUARI.

MOBIL UYGULAMA GELIŞTIRME

JAVADA DİZİ İŞLEMLERİ

Uzaktan Eğitim Uygulama ve Araştırma Merkezi

Klavyeden Basit Giriş/Çıkış İşlemleri

Görsel Programlama (Visual Programming)

Transkript:

Class Hashtable java.util Class Hashtable<K,V> java.lang.object java.util.dictionary<k,v> java.util.hashtable<k,v> Kılgıladığı Arayüzler: Serializable, Cloneable, Map<K,V> Altsınıfları: Properties, UIDefaults Bildirimi: public class Hashtable<K,V> extends Dictionary<K,V> implements Map<K,V>, Cloneable, Serializable Hashtable sınıfı Java Collections Framework un bir üyesidir. Bu sınıf anahtarları değerlere göndererek bir hash table yaratır. Null olmayan her nesne anahtar ya da değer olarak kullanılabilir. Bir Hashtable yapısına nesneleri depolamak ve onlara erişimi sağlamak için, anahtar olarak kullanılan nesnelerin hashcode() metodu ile equals() metodunu kılgılıyor olması gerekir. Bir Hastable yapısının performansını etkileyen iki parametre vardır: başlangıç sığası ve yükleme katsayısı. Hashtable içindeki sepet (bucket) sayısı onun sığasıdır (capacity); yani sahip olduğu bileşen sayısıdır. Başlangıç sığası, Hashtable yaratılırken belirlenen bileşen sayısıdır. Yükleme katsayısı ise, sığasının ne kadarı dolduğunda otomatik olarak sığa artımına geçeceğini belirleyen orandır. Genellikle, yükleme katsayısı 0,75 dir. Bu demektir ki, Hashtable bileşenleri %75 oranında dolduğunda, sığa otomatik olarak artar. Tabii, bir Hashtable kurulurken, istenirse sığası ve yükleme katsayısı belirlenebilir. İlgili Konular: Object.equals(java.lang.Object), Object.hashCode(), rehash(), Collection, Map, HashMap, TreeMap, Serialized Form Hashtable Sınıfının Kurucuları Hashtable() Başlangıç sığası 11 ve yükleme katsayısı 0,75 olan boş bir Hashtable yaratır. Hashtable(int initialcapacity) Başlangıç sığası parametrenin belirlediği sayı ve yükleme katsayısı 0,75 olan boş bir Hashtable yaratır. Hashtable(int initialcapacity, float loadfactor) 1

Başlangıç sığası ve yükleme katsayısı parametrelerle belirlenen sayılar olan boş bir Hashtable yaratır. Hashtable(Map<? extends K,? extends V> t) Verilen Map ile aynı gönderime sahip bir Hashtable yaratır Method Summary void Object Enumeration<V> clear() Hiçbir anahtar içermeyecek biçimde Hashtable yapısını temizler. clone() Hashtable nesnesinin boş bir kopyasını yaratır. Anahtarları ve değerleri kopyalamaz. contains(object value) Verilen öğeye eşleşen bir ya da birden çok anahtar varsa true değeri verir. containskey(object key) Verilen anahtara eşleşen bir gönderim varsa true değerini verir. containsvalue(object value) Verilen öğeye eşleşen bir ya da birden çok anahtar varsa true değeri verir. elements() Hashtable içindeki değerleri numaralar. Set<Map.Entry<K,V>> entryset() Yapıdaki gönderimleri bir küme olarak verir. equals(object o) Verilen nesnenin, parametredeki nesneye eşit olup olmadığını bulur. V int Enumeration<K> Set<K> V get(object key) Verilen anahtara eşleşen değeri verir. Eğer verilen anahtara eşleşen öğe yoksa null verir. hashcode() Map in hash kodunu verir.. isempty() Hashtable in boş olup olmadığını denetler. keys() Hashtable içindeki anahtarları sıralar. keyset() Hashtable içindeki anahtarları bir küme olarak verir. put(k key, V value) Verilen anahtarrı verilen öğeye eşler. void putall(map<? extends K,? extends V> t) Verilen map i belirtilen map e kopyalar. protected void V rehash() Sığayı artırır. remove(object key) 2

int String Collection<V> Verilen anahtarı ve ona eşlenen değeri siler. size() Map içindeki anahtar sayısını verir. O sayı, dolan bileşen (bucket) sayısıdır.. tostring() Hashtable içindeki nesnelerin bir string temsilini verir. Bu temsil, değerleri metin olarak yazar ve onları küme simgesi ([]) içinde verir. values() Map içindeki değerleri bir Collection olarak gösterir. java.lang.object sınıfından kalıtsal gelen metotlar finalize, getclass, notify, notifyall, wait, wait, wait import java.util.hashtable; import java.util.enumeration; public static void main(string[] args) { Hashtable<Integer, String> htable = new Hashtable<Integer, String>(); // Hashtable nesnesine öğe ekleme htable.put(new Integer(474), "Kars"); htable.put(new Integer(376), "Balıkesir"); htable.put(new Integer(322), "Ankara"); htable.put(new Integer(232), "Đzmir"); htable.put(new Integer(284), "Edirne"); // Hashtable öğelerini yazdır System.out.println(hTable); // anahtar ve değerlere erişmek için Hashtable sıralaması Enumeration em = htable.keys(); while (em.hasmoreelements()) { // Hashtable'ın öğelerine erişim int key = (Integer) em.nextelement(); // değere erişim String value = (String) htable.get(key); System.out.println("Anahtar :" + key + " değer :" + value); {284=Edirne, 322=Ankara, 376=Balıkesir, 232=Đzmir, 474=Kars Anahtar :284 değer :Edirne 3

Anahtar :322 değer :Ankara Anahtar :376 değer :Balıkesir Anahtar :232 değer :Đzmir Anahtar :474 değer :Kars import java.util.*; public static void main(string args[]) throws Exception { // sığayı 10 ile başlat; dolunca artır Hashtable hash = new Hashtable(10, 10); for (int i = 0; i <= 100; i++) { Integer integer = new Integer(i); hash.put(integer, "Sayı : " + i); System.out.println(hash); // değere erişim System.out.println(hash.get(new Integer(5))); // değere erişim System.out.println(hash.get(new Integer(21))); System.in.read(); // bütün değerler for (Enumeration e = hash.keys(); e.hasmoreelements();) { System.out.println(hash.get(e.nextElement())); {20=Sayı : 20, 41=Sayı : 41, 62=Sayı : 62, 83=Sayı : 83, 40=Sayı : 40, 61=Sayı : 61, 82=Sayı : 82, 19=Sayı : 19, 60=Sayı : 60, 81=Sayı : 81, 63=Sayı : 63, 84=Sayı : 84 Sayı : 5 Sayı : 21 Aşağıdaki program bir Hashtable kuruyor ve onun üzerinde bir iterator tanımlayarak öğelerine erişiyor. import java.util.enumeration; import java.util.iterator; import java.util.hashtable; import java.util.collection; 4

public static void main(string[] args) { // Hashtable nesnesi yarat Hashtable ht = new Hashtable(); // Hashtable nesnesine öğe ekle ht.put("1", "Medrese"); ht.put("2", "Darulfünun"); ht.put("3", "Üniversite"); Collection c = ht.values(); System.out.println("Hashtable'in öğeleri :"); // koleksiyon üzerinde Iterator Iterator itr = c.iterator(); while (itr.hasnext()) System.out.println(itr.next()); // koleksiyondan sil c.remove("medrese"); // Hashtable öğeleri System.out.println("Hashtable geri kalan öğeleri :"); Enumeration e = ht.elements(); while (e.hasmoreelements()) System.out.println(e.nextElement()); Hashtable'in öğeleri : Üniversite Darulfünun Medrese Hashtable geri kalan öğeleri : Üniversite Darulfünun Aşağıdaki program ülkeleri, telefon kodları ile eşleştiren bir Hashtable kuruyor ve başlıca Hashtable metotlarını uyguluyor. import java.util.hashtable; import java.util.enumeration; public static void main(string[] args) { String>(); String>(); Hashtable<Integer, String> htable = new Hashtable<Integer, // Hashtable<Integer, String> ht = new Hashtable<Integer, // Hashtable nesnesine öğe ekleme // Ülkelerin telefon kodları 5

htable.put(new Integer(1), "ABD"); htable.put(new Integer(973), "Bahreyn"); htable.put(new Integer(45), "Danimarka"); htable.put(new Integer(49), "Almanya"); htable.put(new Integer(44), "Đngiltere"); // Hashtable öğelerini yazdır System.out.println(hTable); System.out.println("contains(\"Kars\") : " + htable.contains("kars")); System.out.println("containsValue(\"Ankara\") : " + htable.containsvalue("kars")); System.out.println("containsKey(474) : " + htable.containskey(474)); System.out.println("elements() : " + htable.elements()); System.out.println("entrySet() : " + htable.entryset()); System.out.println("equals() : " + "Đzmir".equals("Đzmir")); System.out.println("equals() : " + "Đzmir".equals("Mersin")); System.out.println("get(284) : " + htable.get(474)); System.out.println("hashCode() : " + htable.hashcode()); System.out.println("isEmpty() : " + htable.isempty()); System.out.println("keys() : " + htable.keys()); System.out.println("keySet() : " + htable.keyset()); System.out.println("size() : " + htable.size()); System.out.println("toString() : " + htable.tostring()); System.out.println("values() : " + htable.values()); Hashtable ht = (Hashtable) htable.clone(); System.out.println("println(ht) System.out.println("ht.size() : " + ht); : " + ht.size()); {49=Almanya, 973=Bahreyn, 45=Danimarka, 1=ABD, 44=Đngiltere contains("kars") : false containsvalue("ankara") : false containskey(474) : false elements() : java.util.hashtable$enumerator@42e816 entryset() : [49=Almanya, 973=Bahreyn, 45=Danimarka, 1=ABD, 44=Đngiltere] equals() : true equals() : false get(284) : null hashcode() : 1686308881 isempty() : false keys() : java.util.hashtable$enumerator@9304b1 keyset() : [49, 973, 45, 1, 44] size() : 5 tostring() : {49=Almanya, 973=Bahreyn, 45=Danimarka, 1=ABD, 44=Đngiltere values() : [Almanya, Bahreyn, Danimarka, ABD, Đngiltere] println(ht) : {49=Almanya, 973=Bahreyn, 45=Danimarka, 1=ABD, 44=Đngiltere 6

ht.size() : 5 Aşağıdaki prgram bir TreeMap Map ini Hashtable Map ine dönüştürüyor. import java.util.*; public static void main(string[] args) { // Bir TreeMap nesnesi yarat: TreeMap tm = new TreeMap(); // Bir Hashtable nesnesi yarat Hashtable ht = new Hashtable(); // TreeMap tm deposuna veri gir tm.put("1", "Ankara"); tm.put("2", "Paris"); // tm map'inin bütün öğelerini ht mapi'ne kopyala ht.putall(tm); // ht map'ini yazdır; System.out.println(ht); // Her iki map'in ikinci öğelerini yazdır: System.out.println("tm içindeki #2 öğe : " + tm.get("2")); System.out.println("th içindeki #2 öğe : " + ht.get("2")); 7