Junior
Dartda List va Set o'rtasidagi farq nima?
sobes.tech AI
AIdan javob
Asosiy farqlar:
- Mazmuni: List takroriy elementlarni o'z ichiga olishi mumkin, Set faqat noyob elementlarni saqlaydi.
- Tartib: List elementlarni qo'shish tartibini saqlaydi, Set esa tartibni kafolatlamaydi.
- Ishlash tezligi:
- Qo'shish/ochirish: O'rtacha, Set'da element qo'shish/ochirish operatsiyasi (O(1)) hashing yordamida tezroq. List uchun bu operatsiyalar sekinroq bo'lishi mumkin (O(n) gacha) joylashuvga qarab.
- Qidiruv: Set'da qiymat bo'yicha qidiruv tezroq (O(1) o'rtacha), hashing yordamida. Listda qiymat bo'yicha qidiruv listni bosib o'tishni talab qiladi (O(n)). Listda indeks bo'yicha kirish tez (O(1)).
Misollar:
// List - takroriy elementlarga ruxsat beradi, tartibni saqlaydi
List<int> numbersList = [1, 2, 2, 3, 1];
print(numbersList); // Chiqish: [1, 2, 2, 3, 1]
print(numbersList[0]); // Chiqish: 1 (indeks bo'yicha kirish)
// Set - faqat noyob elementlar, tartib kafolatlanmagan
Set<int> numbersSet = {1, 2, 2, 3, 1};
print(numbersSet); // Chiqish: {1, 2, 3} (tartib o'zgarishi mumkin)
// print(numbersSet[0]); // Xato: Set indeks bo'yicha kirishni qo'llab-quvvatlamaydi
print(numbersSet.contains(2)); // Chiqish: true (tez qidiruv)