Негізгі айырмашылық – TreeSet және TreeMap
Массив бір типтегі деректер элементтерінің жиынын сақтау үшін пайдаланылады. Бағдарламалау тілдерінің көпшілігі массивтерді қолдайды. Массив бірнеше мәндерді сақтай алатынына қарамастан; үлкен кемшілігі бар. Массив жасалғаннан кейін оны өзгерту мүмкін емес. Егер бағдарламашы 10 элементтен тұратын массив жариялаған болса, онда ол 15 элементті сақтай алмайды. Бағдарламашы 10 элементтен тұратын массив жариялағанда және тек 5 элементті сақтағанда, бөлінген жадтың қалған бөлігі босқа кетеді. Java сияқты бағдарламалау тілдерінде деректер элементтерін динамикалық түрде сақтауға арналған жинақтар бар. Бірқатар жинақтар бар. Жинақтар элементтерді қосу, жою және басқа операцияларды орындауға көмектеседі. Негізгі интерфейс коллекция ретінде белгілі. Set, List және Queue - бұл коллекция интерфейсін кеңейтетін кейбір интерфейстер. Карта коллекция иерархиясының интерфейсі болып табылады, бірақ ол Жинақ интерфейсін кеңейтпейді. TreeSet - бұл Set интерфейсін жүзеге асыратын және элементтерді өсу ретімен сақтайтын класс. TreeMap - Map интерфейсін жүзеге асыратын және кілтті, мән жұптарын өсу ретімен сақтайтын класс. Бұл басты айырмашылық. Бұл мақалада TreeSet және TreeMap арасындағы айырмашылық талқыланады.
TreeSet дегеніміз не?
TreeSet - Set интерфейсін жүзеге асыратын класс. TreeSet бірегей элементтерді сақтайды. TreeSet NavigableSet интерфейсін жүзеге асырады. Шарлау интерфейсі SortedSet, Set, Collection және Iterable интерфейстерін иерархиялық ретпен кеңейтеді. TreeSet элементтерді өсу ретімен сақтайды. Егер кірістіру реті A, C, B болса, TreeSet оларды A, B, C түрінде сақтайды. TreeSet әдістері бар. Add әдісі элементті жиынға қосу үшін пайдаланылады. Жою әдісі көрсетілген элементті жою үшін пайдаланылады. Ашық әдіс барлық элементтерді жою үшін қолданылады. Көрсетілген элемент жиында бар болса, contain әдісі ақиқат мәнін қайтарады. Олар TreeSet ұсынған кейбір әдістер. Төмендегі бағдарламаны қараңыз.
01-сурет: TreeSet пайдаланатын бағдарлама
Жоғарыдағы бағдарламаға сәйкес Treesset TreeSet типті объект болып табылады. Ол жолдарды сақтай алады. Элементтер add әдісі арқылы қосылады. Енгізу реті: A, C, D және B. Итератордың көмегімен сақталған мәндер экранға басып шығарылады. Элементтер A, B, C, D ретімен сақталады. Сондықтан TreeSet Жиын элементтерінің өсу ретін сақтайды. Егер «D» ретінде басқа элемент болса, ол басып шығарылмайды, себебі D элементі жиында бұрыннан бар. Ол әрқашан бірегей элементтерді сақтайды.
TreeMap дегеніміз не?
TreeMap – Map интерфейсін жүзеге асыратын класс. Карта кілт-мән жұптарын қолдайды. Әрбір кілт, мән жұбы жазба болып табылады. Әрбір кілт бірегей және сәйкес мәнге ие. containKey әдісі белгілі бір кілтті табу үшін пайдаланылады, ал containValue әдісі белгілі бір мәнді табу үшін пайдаланылады. Берілген кілтке сәйкес мәнді табу үшін get әдісі қолданылады. Put әдісі берілген кілтпен мәнді сақтау үшін қолданылады. Сондай-ақ жою әдісі арқылы белгілі бір кілттегі элементті жоюға болады. Бұл Map интерфейсінің кейбір кең таралған әдістері. Ол кілт негізінде элементтерді іздеуге, кірістіруге және жоюға көмектеседі. TreeMap класы NavigableMap бағдарламасын жүзеге асырады. NavigableMap SortedMap қолданбасын кеңейтеді. SortedMap картаны кеңейтеді. Сондықтан Карта әдістерін TreeMap көмегімен пайдалануға болады. Төмендегі бағдарламаны қараңыз.
02-сурет: TreeMap көмегімен бағдарлама
Жоғарыдағы бағдарламаға сәйкес TreeMap объектісі жасалады. Бағдарламашы объектіні пайдаланып элементтерді қоса алады. Кілт, мән жұптарын кірістіру үшін put әдісі қолданылады. Элементтерді алу үшін алу әдісі арнайы кілтпен пайдаланылады. Бағдарламалаушы барлық кілттер мен мәндерді басып шығару үшін Map. Entry пайдалана алады. Шығаруды бақылаған кезде ол енгізілген тәртіпті сақтамайды. Ол элементтерді өсу ретімен сақтайды.
TreeSet және TreeMap арасында қандай ұқсастықтар бар?
- TreeSet және TreeMap екеуі де жинақ иерархиясында.
- TreeSet және TreeMap екеуі де өсу ретін сақтайды.
- TreeSet және TreeMap екеуі де көптеген элементтерді сақтай және өңдей алады.
TreeSet және TreeMap арасындағы айырмашылық неде?
TreeSet vs TreeMap |
|
TreeSet – Set интерфейсін жүзеге асыратын және элементтерді өсу ретімен сақтайтын класс. | TreeMap – Map интерфейсін жүзеге асыратын және кілтті, мән жұптарын өсу ретімен сақтайтын сынып. |
Орнатылған интерфейс | |
TreeSet Set интерфейсін жүзеге асырады. | TreeMap карта интерфейсін жүзеге асырады. |
Қорытынды – TreeSet және TreeMap
Массив элементтер жинағын сақтау үшін пайдаланылады, бірақ ол элементтерді динамикалық түрде сақтауға көмектеспейді. Java сияқты бағдарламалау тілдерінде деректер элементтерін динамикалық түрде сақтауға арналған Жинақтар бар. Коллекция - коллекция иерархиясындағы негізгі класс. Ол элементтерді қосу, жою сияқты операцияларды орындауға арналған сыныптар мен интерфейстерден тұрады. Set және Map - Жинақ иерархиясының екі интерфейсі. TreeSet - бұл Set интерфейсін жүзеге асыратын және элементтерді өсу ретімен сақтайтын класс. TreeMap - Map интерфейсін жүзеге асыратын және кілтті, мән жұптарын өсу ретімен сақтайтын класс. Бұл TreeSet пен TreeMap арасындағы айырмашылық.