Sobes.tech
Junior
385

Java-da List və Set arasındakı fərq nədir?

AI-dan cavab

sobes.tech Süni İntellekt

Əsas fərqlər:

  1. Elementlərin sırası:
    • List elementlərin əlavə olunma sırasını saxlayır.
    • Set elementlərin sırasını zəmanət etmir (xüsusi tətbiqata bağlıdır, məsələn, LinkedHashSet əlavə olunma sırasını saxlayır).
  2. Təkrarlananlar:
    • List təkrarlanan elementlərin saxlanmasına icazə verir.
    • Set yalnız unikal elementləri saxlayır.
  3. Elementlərə giriş:
    • List elementlərə indekslə giriş imkanı verir.
    • Set indekslə birbaşa giriş təmin etmir, giriş iterator və ya dövr vasitəsilə həyata keçirilir.
  4. Performans:
    • Listdə axtarış və əlavə əməliyyatları çox sayda elementlə daha yavaş ola bilər, Setə nisbətən (məsələn, HashSet).
    • Setdə əlavə və silmə əməliyyatları (məsələn, HashSet) ümumiyyətlə orta sabit vaxt mürəkkəbliyinə malikdir.

Nümunə:

// Dublikatlara və sıralamaya imkan verən siyahı
List<String> list = new ArrayList<>();
list.add("Apple");
list.add("Banana");
list.add("Apple");
System.out.println(list); // Çıxış: [Apple, Banana, Apple]

// Yalnız unikal elementləri saxlayan toplus
Set<String> set = new HashSet<>();
set.add("Apple");
set.add("Banana");
set.add("Apple");
System.out.println(set); // Çıxış: [Apple, Banana] (sıra dəyişə bilər)

Müqayisə cədvəli:

Tərəf List Set
Sıra Saxlanılır Zəmanət edilmir (tətbiqata bağlıdır)
Təkrarlananlar İcazə verilir İcazə verilmir
İndeks ilə giriş Bəli Xeyr
İnterfeys java.util.List java.util.Set
Ümumi istifadə Təşkil olunmuş kolleksiyalar, siyahılar Unikal kolleksiyalar, topluslar