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:
- Elementlərin sırası:
Listelementlərin əlavə olunma sırasını saxlayır.Setelementlə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).
- Təkrarlananlar:
Listtəkrarlanan elementlərin saxlanmasına icazə verir.Setyalnız unikal elementləri saxlayır.
- Elementlərə giriş:
Listelementlərə indekslə giriş imkanı verir.Setindekslə birbaşa giriş təmin etmir, giriş iterator və ya dövr vasitəsilə həyata keçirilir.
- 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 |