TreeSet va TreeMap oʻrtasidagi farq

Mundarija:

TreeSet va TreeMap oʻrtasidagi farq
TreeSet va TreeMap oʻrtasidagi farq

Video: TreeSet va TreeMap oʻrtasidagi farq

Video: TreeSet va TreeMap oʻrtasidagi farq
Video: Карты отображений в Java. HashTable, TreeMap, HashMap. Java Professional. Урок 3 2024, Noyabr
Anonim

Asosiy farq – TreeSet va TreeMap

Masiv bir xil turdagi ma'lumotlar elementlari to'plamini saqlash uchun ishlatiladi. Ko'pgina dasturlash tillari Massivlarni qo'llab-quvvatlaydi. Massiv bir nechta qiymatlarni saqlashi mumkin bo'lsa ham; katta kamchiligi bor. Massiv yaratilgandan keyin uni o'zgartirish mumkin emas. Agar dasturchi 10 ta elementdan iborat massivni e'lon qilgan bo'lsa, u 15 ta elementni saqlay olmaydi. Dasturchi 10 ta elementdan iborat massivni e'lon qilib, faqat 5 ta elementni saqlasa, ajratilgan xotiraning qolgan qismi isrof bo'ladi. Java kabi dasturlash tillarida ma'lumotlar elementlarini dinamik saqlash uchun to'plamlar mavjud. Bir qator to'plamlar mavjud. To'plamlar elementlarni qo'shish, olib tashlash va boshqa operatsiyalarni bajarishga yordam beradi. Asosiy interfeys Collection deb nomlanadi. O'rnatish, Ro'yxat va Navbat - bu Collection interfeysini kengaytiradigan ba'zi interfeyslar. Xarita to'plam ierarxiyasining interfeysidir, lekin u To'plam interfeysini kengaytirmaydi. TreeSet - bu Set interfeysini amalga oshiradigan va elementlarni o'sish tartibida saqlaydigan sinf. TreeMap - bu Map interfeysini amalga oshiradigan va kalit, qiymat juftlarini o'sish tartibida saqlaydigan sinf. Bu asosiy farq. Ushbu maqolada TreeSet va TreeMap o'rtasidagi farq muhokama qilinadi.

TreeSet nima?

TreeSet - bu Set interfeysini amalga oshiradigan sinf. TreeSet noyob elementlarni saqlaydi. TreeSet NavigableSet interfeysini amalga oshiradi. Navigatsiya interfeysi SortedSet, Set, Collection va Iterable interfeyslarini ierarxik tartibda kengaytiradi. TreeSet elementlarni o'sish tartibida saqlaydi. Agar kiritish tartibi A, C, B bo'lsa, TreeSet ularni A, B, C sifatida saqlaydi. TreeSet usullari mavjud. Qo'shish usuli to'plamga element qo'shish uchun ishlatiladi. O'chirish usuli belgilangan elementni olib tashlash uchun ishlatiladi. Aniq usul barcha elementlarni olib tashlash uchun ishlatiladi. Agar ko'rsatilgan element to'plamda mavjud bo'lsa, contain usuli true qiymatini qaytaradi. Ular TreeSet tomonidan taqdim etilgan ba'zi usullardir. Quyidagi dasturga qarang.

TreeSet va TreeMap o'rtasidagi farq
TreeSet va TreeMap o'rtasidagi farq

01-rasm: TreeSet yordamida dastur

Yuqoridagi dasturga muvofiq Treesset TreeSet tipidagi obyektdir. U Stringlarni saqlashi mumkin. Elementlar qo'shish usuli yordamida qo'shiladi. Qo'shish tartibi A, C, D va B. Iterator yordamida saqlangan qiymatlar ekranga chop etiladi. Elementlar A, B, C, D tartibida saqlanadi. Shuning uchun TreeSet to'plam elementlarining o'sish tartibini saqlaydi. Agar "D" sifatida boshqa element bo'lsa, u chop etilmaydi, chunki D elementi to'plamda allaqachon mavjud. U har doim noyob elementlarni saqlaydi.

TreeMap nima?

TreeMap - bu Map interfeysini amalga oshiradigan sinf. Xarita kalit-qiymat juftligini qo‘llab-quvvatlaydi. Har bir kalit, qiymat juftligi kirishdir. Har bir kalit noyob va tegishli qiymatga ega. ContentKey usuli ma'lum bir kalitni topish uchun, containValue usuli esa ma'lum bir qiymatni topish uchun ishlatiladi. Get usuli berilgan kalitga mos keladigan qiymatni topish uchun ishlatiladi. Put usuli berilgan kalit bilan qiymatni saqlash uchun ishlatiladi. Bundan tashqari, olib tashlash usuli yordamida ma'lum bir kalitdagi elementni olib tashlash mumkin. Bular Map interfeysining ba'zi umumiy usullari. Bu kalit asosida elementlarni qidirish, kiritish va o'chirishga yordam beradi. TreeMap klassi NavigableMap-ni amalga oshiradi. NavigableMap SortedMap-ni kengaytiradi. SortedMap xaritani kengaytiradi. Shuning uchun Map usullaridan TreeMap bilan foydalanish mumkin. Quyidagi dasturga qarang.

TreeSet va TreeMap o'rtasidagi asosiy farq
TreeSet va TreeMap o'rtasidagi asosiy farq

02-rasm: TreeMap yordamida dastur

Yuqoridagi dasturga muvofiq TreeMap ob'ekti yaratilgan. Dasturchi ob'ekt yordamida elementlarni qo'shishi mumkin. Put usuli kalit, qiymat juftlarini kiritish uchun ishlatiladi. Get usuli elementlarni olish uchun maxsus kalit bilan ishlatiladi. Dasturchi barcha kalit va qiymatlarni chop etish uchun Map. Entry dan foydalanishi mumkin. Chiqishni kuzatishda u kiritilgan tartibni saqlamaydi. U elementlarni o'sish tartibida saqlaydi.

TreeSet va TreeMap oʻrtasidagi oʻxshashliklar qanday?

  • TreeSet ham, TreeMap ham toʻplam ierarxiyasida.
  • TreeSet ham, TreeMap ham oʻsish tartibini saqlab turadi.
  • TreeSet ham, TreeMap ham koʻplab elementlarni saqlashi va boshqarishi mumkin.

TreeSet va TreeMap oʻrtasidagi farq nima?

TreeSet va TreeMap

TreeSet - bu Set interfeysini amalga oshiradigan va elementlarni o'sish tartibida saqlaydigan sinf. TreeMap - bu Map interfeysini amalga oshiradigan va kalit va qiymat juftlarini ortib boruvchi tartibda saqlaydigan sinf.
Amalga oshirilgan interfeys
TreeSet Set interfeysini amalga oshiradi. TreeMap Xarita interfeysini amalga oshiradi.

Xulosa – TreeSet va TreeMap

Masiv elementlar toʻplamini saqlash uchun ishlatiladi, lekin u elementlarni dinamik saqlashga yordam bermaydi. Java kabi dasturlash tillarida ma'lumotlar elementlarini dinamik saqlash uchun to'plamlar mavjud. To'plam - bu to'plam ierarxiyasidagi asosiy sinf. U elementlarni qo'shish, o'chirish kabi operatsiyalarni bajarish uchun sinflar va interfeyslardan iborat. Set va Xarita to'plam ierarxiyasining ikkita interfeysidir. TreeSet - bu Set interfeysini amalga oshiradigan va elementlarni o'sish tartibida saqlaydigan sinf. TreeMap - bu Map interfeysini amalga oshiradigan va kalit, qiymat juftlarini o'sish tartibida saqlaydigan sinf. Bu TreeSet va TreeMap o'rtasidagi farq.

Tavsiya: