Roʻyxat va toʻplam oʻrtasidagi farq

Mundarija:

Roʻyxat va toʻplam oʻrtasidagi farq
Roʻyxat va toʻplam oʻrtasidagi farq

Video: Roʻyxat va toʻplam oʻrtasidagi farq

Video: Roʻyxat va toʻplam oʻrtasidagi farq
Video: Geometriya 19-dars. 2.24.1 Urinma, Vatar, Radius, Diametr. 2.24.2 Aylana Uzunligi. 2.24.3 Aylana Yoy 2024, Iyul
Anonim

Asosiy farq – Roʻyxat va toʻplam

Koʻpchilik dasturlash tillari bir xil turdagi maʼlumotlar toʻplamini saqlash uchun massivlardan foydalanadi. Massivlarning asosiy kamchiliklaridan biri shundaki, massiv hajmi e'lon qilingandan keyin uni o'zgartirib bo'lmaydi. Agar dasturchi massiv o'lchamidan kattaroq qiymatlarni saqlamoqchi bo'lsa, u yangi massiv yaratishi va mavjud elementlarni yangi massivga nusxalashi kerak. Bunday hollarda kollektsiyalardan foydalanish mumkin. To'plamlar yordamida elementlarni qo'shish, elementlarni o'chirish va boshqa ko'plab operatsiyalarni bajarish mumkin. Java kabi dasturlash tillarida turli xil to'plamlar mavjud. Ro'yxat va to'plam to'plamlar ierarxiyasining interfeyslaridir. Boshqa interfeyslar uchun asosiy interfeys Collection hisoblanadi. List va Set o'rtasidagi asosiy farq shundaki, List bir xil elementni bir necha marta saqlashni qo'llab-quvvatlaydi, Set esa bir xil elementni bir necha marta saqlashni qo'llab-quvvatlamaydi. Shuning uchun toʻplam takrorlashga ruxsat bermaydi.

Roʻyxat nima?

Roʻyxat Collection interfeysini kengaytiruvchi interfeysdir. Collection interfeysida bir qancha usullar mavjud. Qo'shish usuli element qo'shishga yordam beradi. "O'chirish usuli" elementni olib tashlashdir. To'plamdan elementlarni olib tashlash uchun "removeAll usuli" esa bir nechta elementlarni qo'shish uchun "addAll usuli" mavjud. Content usuli Ro'yxatda ma'lum bir ob'ekt mavjudligi yoki yo'qligini aniqlashga yordam beradi. "ContainsAll" to'plamda ob'ektlar to'plami mavjudligini aniqlashdir. Iterator usuli ro'yxat elementlari bo'ylab aylanish uchun ishlatiladi. Ro'yxat to'plamni kengaytirganda, To'plamning barcha usullari Listga tegishli. Ushbu usullardan tashqari, Ro'yxatda get va set kabi usullar mavjud. Dasturchi get usuli yordamida ma'lum bir indeksdagi qiymatni olishi mumkin. Dasturchi o'rnatilgan usul yordamida ma'lum bir indeksda qiymat o'rnatishi mumkin. “indexOf” element indeksini topish uchun ishlatiladi.

Roʻyxatda amallar pozitsiyaga qarab bajarilishi mumkin. Dasturchi indeksga qo'shiladigan ma'lumotlar elementini taqdim etishi mumkin. Shunday qilib, u maxsus indeksga qo'shiladi. Agar dasturchi indeks bermasa, element Ro'yxatning oxiriga qo'shiladi. Shuningdek, u kiritilgan tartibni saqlaydi. Agar 1-element qoʻshilsa va keyin element2 qoʻshilsa, element1 element2dan oldin boʻladi.

Ro'yxat va to'plam o'rtasidagi farq
Ro'yxat va to'plam o'rtasidagi farq

01-rasm: Roʻyxat va sozlash

ArrayList, LinkedList, Vector - Listni amalga oshiradigan ba'zi sinflar. ArrayList-da elementga kirish tez, lekin kiritish va o'chirish kamroq. ArrayList ish zarrachalari uchun xavfsiz emas. Bir xil ArrayList-ga bir nechta iplardan kirish bir xil natijani bermasligi mumkin. LinkedList-da elementlar oldinga va orqaga bog'langan. LinkedList yordamida elementlarni qo'shish va o'chirish ArrayList-ga qaraganda tezroq. LinkedList ro'yxat va navbat ikkalasini ham amalga oshiradi. Vektor ArrayList ga o'xshaydi, lekin u harakatlanish uchun xavfsiz, chunki barcha usullar sinxronlashtiriladi.

Oʻrnatilgan nima?

Set - bu Collection interfeysini kengaytiruvchi interfeys. To'plam interfeysi To'plamni kengaytirganda, To'plamning barcha usullari ham Setga tegishli. To'plam takroriy qiymatlarni qo'llab-quvvatlamaydi. Shuning uchun dasturchi bir xil elementni ikki marta saqlay olmaydi. U noyob elementlar to'plamini saqlaydi. SortedSet interfeysi Set interfeysini kengaytiradi. SortedSet elementlarni tartiblangan tartibda saqlaydi. NavigableSet interfeysi SortedSet-ni kengaytiradi. NavigableSet pastki, pol, ship va hokazo kabi navigatsiya usullarini taqdim etadi.

HashSet, LinkedHashSet va TreeSet Set interfeysini amalga oshiradigan ba'zi sinflardir. HashSet Set interfeysini amalga oshiradi. U kiritilgan tartibni saqlamaydi. Agar qiymatlar a, x, b sifatida kiritilsa, u, x, a, b shaklida saqlanishi mumkin. LinkedSet kiritilgan tartibni saqlaydi. Agar elementlar a, x, b tartibda kiritilsa, saqlash tartibi a, x, b bo'ladi. TreeSet Set va NavigableSet-ni amalga oshiradi. U kiritish tartibini saqlamaydi, lekin elementlarni tartiblangan tartibda saqlaydi. Agar kiritilgan tartib a, c, b bo'lsa, u holda elementlar a, b, c sifatida saqlanadi. Barcha HashSet, LinkedHashSet va TreeSetda takroriy elementlar bo‘lmaydi.

Roʻyxat va toʻplam oʻrtasidagi oʻxshashliklar qanday?

  • Roʻyxat va Set interfeyslari Toʻplam interfeysini kengaytiradi.
  • Elementlarni qoʻshish, oʻchirish kabi roʻyxat va sozlash operatsiyalarini qoʻllab-quvvatlaydi.

Roʻyxat va toʻplam oʻrtasidagi farq nima?

Roʻyxat va toʻplam

Roʻyxat interfeysi toʻplamning pastki interfeysi boʻlib, unda indeks asosida kiritish, oʻchirish kabi amallarni bajarish usullari mavjud. Set Interface toʻplamning pastki interfeysi boʻlib, unda noyob elementlarni saqlab qolgan holda elementlarni kiritish, oʻchirish kabi amallarni bajarish usullari mavjud.
Darslar
ArrayList, Vector va LinkedList - bu List interfeysini amalga oshiradigan sinflar. HashSet, LinkedHashSet va TreeSet Set interfeysini amalga oshiradigan sinflardir.
Elementni takrorlash
Roʻyxat elementlarning takrorlanishini qoʻllab-quvvatlaydi. Toʻplam elementlarning takrorlanishini qoʻllab-quvvatlamaydi. Elementlar noyob.

Xulosa – Roʻyxat va toʻplam

Toʻplamlar elementlarni dinamik saqlash uchun ishlatiladi. Java kabi dasturlash tillari Collection interfeysini taqdim etadi. List va Set - bu Collection interfeysiga tegishli ikkita interfeys. Ikkala interfeys ham To'plamni kengaytiradi. Ushbu maqolada List va Set o'rtasidagi farq muhokama qilindi. List va Set o'rtasidagi asosiy farq shundaki, List bir xil elementni bir necha marta saqlashni qo'llab-quvvatlaydi, Set esa bir xil elementni bir necha marta saqlashni qo'llab-quvvatlamaydi. To‘plam har doim noyob elementlarni saqlaydi.

Tavsiya: