CodeBlanks Logo Icon CodeBlanks

Set<E>

Set<E> ile generic küme öğrenirsin.

Set<E> arayüzü

Set<E> benzersiz eleman koleksiyonudur; aynı elemanı iki kez ekleyemezsin. En sık kullanılan somut uygulama HashSet'tir: Set<String> tags = new HashSet<>();.

add(e) metodu eleman yoksa ekler ve true döner; varsa eklemez ve false döner. contains(e) elemanın varlığını denetler. Set ekleme sırasını korumayı garanti etmez; sıralı davranış gerekirse LinkedHashSet kullanılır.

Set ile yinelenenleri eleme

Set'in en yaygın kullanımı yinelenen elemanları elemektir. Bir listeden Set üretirsen tek kopyalar kalır: Set<String> unique = new HashSet<>(listWithDuplicates);. Set'in size()'ı benzersiz eleman sayısını verir.

remove(e) elemanı siler; clear() tüm set'i boşaltır. isEmpty() boş mu diye denetler. İki set'in kesişimi için retainAll, birleşimi için addAll kullanılır.

Uygulama Etiket seti kur

Set<String> tags = new HashSet<>(); tanımla. tags.add("java");, tags.add("code"); ve tags.add("java"); çağrılarını yap (üçüncü yinelenen). System.out.println(tags.size()); ile benzersiz eleman sayısını ve System.out.println(tags.contains("code")); ile code etiketinin varlığını yazdır.

Başlangıç kodu

Main.java
import java.util.Set;
import java.util.HashSet;

public class Main {
    public static void main(String[] args) {
        // Set<String> tanimla, uc add (biri yinelenen), size ve contains yazdir

    }
}

Örnek çözüm

Main.java
import java.util.Set;
import java.util.HashSet;

public class Main {
    public static void main(String[] args) {
        Set<String> tags = new HashSet<>();
        tags.add("java");
        tags.add("code");
        tags.add("java");
        System.out.println(tags.size());
        System.out.println(tags.contains("code"));
    }
}

Beklenen çıktı

2
true

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 tags.add("Java") iki kez çağrılırsa ne olur?

  • İkinci çağrı hata fırlatır
  • Listede iki Java elemanı oluşur
  • Set boşalır
  • İlk ekleme korunur, ikinci false döner Doğru cevap

Açıklama: Set benzersizdir; ikinci add false döner ve eleman eklenmez.

2 Set metotlarını eşleştir

Kavram Anlamı
add(e) Benzersiz ekler
contains(e) Eleman var mı
remove(e) Elemanı siler
size() Benzersiz eleman sayısı

3 Set bildirimini tamamla

Soru
Set<String> tags = new ____<>();
Cevap
Set<String> tags = new HashSet<>();

Açıklama: HashSet, Set arayüzünün yaygın somut uygulamasıdır.

Orta seviye bölümündeki tüm dersler