HashSet
- Java kursu
- Başlangıç
- Ders 69/116
- 4 dk
HashSet ile benzersiz eleman kümesini öğrenirsin.
Benzersiz küme: HashSet
Tekrarlı elemanları otomatik elemek istiyorsan HashSet kullanılır. Bir eleman eklenirken zaten varsa, ikinci kez eklenmez; küme değişmez.
HashSet<String> tags = new HashSet<>();
tags.add("java");
tags.add("java");
tags.add("code");
// [java, code]Bir elemanın varlığını contains ile kontrol etmek çok hızlıdır; listedeki indexOf'tan çok daha hızlıdır. Küme sırası garanti etmez; sıra önemliyse LinkedHashSet tercih edilir.
Küme üzerinde döngü
Bir HashSet'i for-each döngüsü ile gezebilirsin. Elemanların çıkış sırası eklenme sırasıyla aynı olmayabilir; çünkü HashSet sıralama garantisi vermez.
for (String tag : tags) {
System.out.println(tag);
}İki kümenin kesişimini ya da birleşimini almak için retainAll ve addAll metotları kullanılır. Bunlar, küme işlemlerini tek satırda yapmanı sağlar.
Uygulama Eşsiz etiketleri topla
Bir HashSet<String> oluştur, içine "java", "code", "java", "maven" değerlerini ekle. Sonra kümenin size'ını yazdır.
Başlangıç kodu
import java.util.HashSet;
public class Main {
public static void main(String[] args) {
// HashSet<String> oluştur
// Dört etiketi add ile ekle (java iki kez)
// size() ile eleman sayısını yazdır
}
}Örnek çözüm
HashSet<String> tags = new HashSet<>();
tags.add("java");
tags.add("code");
tags.add("java");
tags.add("maven");
System.out.println(tags.size());Beklenen çıktı
3
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Senaryo ve koleksiyon eşleştir
| Kavram | Anlamı |
|---|---|
Sıralı, indeksli liste |
ArrayList |
Anahtar-değer tablosu |
HashMap |
Benzersiz eleman kümesi |
HashSet |
Sıralı benzersiz küme |
LinkedHashSet |
2 Boşluğu doldur: kümede var mı?
HashSet<String> tags = new HashSet<>();
tags.add("java");
boolean has = tags.____("java");
HashSet<String> tags = new HashSet<>();
tags.add("java");
boolean has = tags.contains("java");
Açıklama: contains("java") true döner.
3 HashSet'e aynı elemanı iki kez add yaparsan ne olur?
- İki kopya saklanır
- İkinci add yok sayılır, küme değişmez Doğru cevap
- Hata fırlatır
- Eski eleman silinir, yenisi eklenir
Açıklama: Küme elemanları tekildir; ikinci ekleme yok sayılır.