Java Koleksiyonlar | Hashset

Koleksiyon Nedir?

Koleksiyonlar Set, list , queue ve map tiplerinden oluşur. Genelde veriler üzerinde işlem yapmak, aramak gibi işlemlerde kullanılırlar. Sıralı ya da sırasız olabilirler.

Bunlar java.util içerisinde bulunurlar ve kısaca bahsetmek gerekirse:

  • List: İçerisinde birden fazla elemanı sıralı olarak barındırabilirler ve indis değerleriyle işlem yaparlar.
  • Set: Elemanları sırasız bir biçimde tutarlar ve kopya eleman barındırmazlar (küme).
  • SortedSet: Set tipinin aynısıdır farkları sıralı olmaları.
  • Map: Verileri key-value şeklinde barındırır. Tekrar eden keyleri içermez. Collection arayüzünü kullanmazlar.
  • Queue: Kuyruk yapısını benimsemiş bir tiptir. Liste tipinden türetilmiştir fakat indis değerleriyle işlem yapmaya izin vermez.

Not: Bu yazı Java10 sürümünde EclipsIDE üzerinden referans verilerek hazırlanmıştır.

Temel İşlemler

Sınıfların kullandıkları bazı ortak metodlar bulunmaktadır, bunlar:

.add(element:Object):boolean Nesneye eleman ekler
.remove(element:Object):booleanNesneden elemanı siler
.size():intNesnedeki eleman sayısını verir
.isEmpty():booleanNesnenin boş olup olmadığını döndürür
.contains(element:Object):booleanNesne içerisinde belirtilen elemanı arar
.iterator():iteratorKoleksiyon nesnesini iterasyon nesnesine referans olarak gönderir
.clear():voidNesneyi temizler

HashSet

Set koleksiyon tipinin bir örneğidir. Elemanlar sırasız ve benzersizdir bunun dışında elemanlara erişim sırası belirsizdir.

Tanımlanması

HashSet<tip> nesne_adi = new HashSet<>();

Örnek

HashSet<String> strsh = new HashSet<>();
strsh.add("Doe");

Iterator

Koleksiyon nesneleri üzerinde işlemler yapmanızı sağlar.

.hasNext():booleanNesne içerisinde bir sonraki elemanın var olup olmadığını sorgular.
.next():ObjectBir sonraki nesneye ulaşır.
.remove(): voidİtere edilmiş değeri siler.

Tanımlanması

Iterator<tip> nesne_adi = collection_object.iterator();

Örnek

Iterator<String> setIte = hSet.iterator();

Örnekler

Ekleme

Birer adet String ve Integer tipinde hashset oluşturup içerisine ekleme yapalım.

HashSet<Integer> hSetI = new HashSet<>();
HashSet<String> hSetS = new HashSet<>();
String StrAry[] = {"John", "Doe", "Test"};

for(int i = 0;i < StrAry.length; i++){
	hSetI.add(i);
	hSetS.add(StrAry[i]);
}

Not: İşlemleri gerçekleştirmeden önce java.util.hashet modülünü kodunuza dahil etmeyi unutmayınız.

Silme ve Temizleme

Yukarıdaki kodların devamı olarak…

for(int i = 0;i < StrAry.length; i++){
	hSetS.remove(StrAry[i]);
}
hSetI.clear();

Görüntüleme veya Yazdırma

Bu işlemde Java’nın sürümleriyle ilgili olarak bir takım problemler yaşayabilirsiniz, bunun için bir kaç yöntem göstereceğim.

İlk yöntem, iterator kullanmak. İterator nesnesini diğer setlerin altına tanımlayınız.

Iterator<String> itrS = new hSetS.iterator();
while(itrS.hasNext()){
	System.out.println(itrS.next());
}

İkinci yöntem

hSetS.forEach(System.out::println);

Üçüncü yöntem

hSetI.stream().forEach((hSetI) -> {
  System.out.println(hSetI);
});

Evet, hashset ile ilgili en temel bilgiler bunlardır. Konuyu daha detaylı incelemek isterseniz:

bu iki bağlantı işinizi görecektir. Ekstra olarak yazıyı hazırlamakta kullandığım kaynakları da belirtmek isterim.

Bunun dışında TutorialsPoint bir programlama dili öğrenmede kullanılabilecek en iyi kaynaklardan biridir. Fakat konu Java olnuca işler biraz değişmektedir. Oracle’ın offical olarak yayınladığı Java dokümantasyonu Java programcısı olmak isteyen herkesin okuması ve uygulaması zorunlu olduğu bir kaynaktır. Piyasada bulunan çoğu Java programcısı bu dokümantasyonu bitirmiş ve güncel olarak takip etmektedir, size de tavsiyem önce bu kaynak üzerinden işe başlamanız.

Kaynakça

Kirazlı, M., & Tanrıverdioğlu, S. (2018). Java Koleksiyonları. M. Kirazlı, & S. Tanrıverdioğlu içinde, YENİ BAŞLAYANLAR İÇİN JAVA 10 (s. 501). İstanbul: Kodlab.

Singh, C. (2013, 12). HashSet Class in Java with example. beginnersbook: https://beginnersbook.com/2013/12/hashset-class-in-java-with-example/ adresinden alındı

Tutorailspoint. (tarih yok). Java – The HashSet Class. Tutorailspoint: https://www.tutorialspoint.com/java/java_hashset_class.htm adresinden alındı

suhaarslan

Posts created 10

Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts

Begin typing your search term above and press enter to search. Press ESC to cancel.

Back To Top