Set<E>
- Java kursu
- Orta seviye
- Ders 90/116
- 5 dk
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
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
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
Set<String> tags = new ____<>();
Set<String> tags = new HashSet<>();
Açıklama: HashSet, Set arayüzünün yaygın somut uygulamasıdır.