Массивтер тізімі мен байланыстырылған тізім арасындағы айырмашылық

Мазмұны:

Массивтер тізімі мен байланыстырылған тізім арасындағы айырмашылық
Массивтер тізімі мен байланыстырылған тізім арасындағы айырмашылық

Бейне: Массивтер тізімі мен байланыстырылған тізім арасындағы айырмашылық

Бейне: Массивтер тізімі мен байланыстырылған тізім арасындағы айырмашылық
Бейне: 😔ОСЫ 7 ҚАТЕ ҮШІН АДАМДАР СІЗДІ БАҒАЛАМАЙДЫ! 2024, Қараша
Anonim

Негізгі айырмашылық – ArrayList және LinkedList

Жинақтар деректерді сақтау үшін пайдалы. Қалыпты массивте жиым өлшемі бекітіледі. Кейде қажетінше өсетін массивтерді жасау қажет. Java сияқты бағдарламалау тілдерінде жинақтар бар. Бұл сыныптар мен интерфейстер жиынтығы бар құрылым. Ол элементтер тобына арналған контейнер ретінде қызмет етеді. Коллекциялар элементтер жинағын сақтауға, жаңартуға, шығарып алуға мүмкіндік береді. Ол тізімдер, жиындар, ағаштар және карталар сияқты деректер құрылымдарымен жұмыс істеуге көмектеседі. Тізім Collection құрылымының интерфейсі болып табылады. ArrayList және LinkedList - жинақтар шеңберіндегі екі сынып. Олар коллекция интерфейсін және тізім интерфейсін жүзеге асырады. Бұл мақалада ArrayList және LinkedList арасындағы айырмашылық талқыланады. ArrayList - AbstractList тізімін кеңейтетін және деректер элементтерін сақтау үшін динамикалық массивті іштей пайдаланатын Тізім интерфейсін жүзеге асыратын класс. LinkedList - AbstractSequentialList кеңейтетін және деректер элементтерін сақтау үшін қосарланған тізімді іштей пайдаланатын List, Deque және Queue интерфейстерін жүзеге асыратын класс. Бұл ArrayList пен LinkedList арасындағы негізгі айырмашылық.

ArrayList дегеніміз не?

ArrayList класы динамикалық массивтерді жасау үшін пайдаланылады. Қалыпты массивтен айырмашылығы, динамикалық массивтің өлшемі бекітілмеген. ArrayList сыныбы арқылы жасалған нысан тізімдегі элементтер жиынын сақтауға рұқсат етілген. Сыйымдылық автоматты түрде артады, сондықтан бағдарламашы тізімге элементтерді қоса алады. ArrayList класы List интерфейсін жүзеге асыратын AbstractList класын кеңейтеді. Сондықтан List интерфейсінің әдістерін ArrayList пайдалана алады. Элементтерге қол жеткізу үшін get() әдісі қолданылады. Тізімге элементтерді қосу үшін add() әдісін қолдануға болады. Remove() әдісі тізімнен элементті жою үшін қолданылады. Төмендегі бағдарламаны қараңыз.

ArrayList және LinkedList арасындағы айырмашылық
ArrayList және LinkedList арасындағы айырмашылық
ArrayList және LinkedList арасындағы айырмашылық
ArrayList және LinkedList арасындағы айырмашылық

01-сурет: Массивтер тізімінің мысалы

Жоғарыдағы бағдарламаға сәйкес ArrayList объектісі құрылады. Қосу әдісін қолдану арқылы элементтерді динамикалық түрде қосуға болады. "A", "B", "C", "D" және "E" элементтері қосу әдісі арқылы қосылады. Жою әдісі тізімнен элементті жою үшін пайдаланылады. Жою әдісіне 4 бергенде, 4-ші индекстегі «E» әріпі тізімнен жойылады. For циклін пайдаланып тізімді қайталағанда, A, B, C және D әріптері басып шығарылады.

SlinkedList деген не?

ArrayList сияқты, LinkedList деректер элементтерін динамикалық түрде сақтау үшін пайдаланылады. LinkedList сыныбы арқылы жасалған нысан тізімдегі элементтер жиынын сақтауға рұқсат етілген. Сыйымдылық автоматты түрде артады, сондықтан бағдарламашы тізімге элементтерді қоса алады. Ол деректерді сақтау үшін екі рет байланыстырылған тізімді іштей пайдаланады. Қосарланған тізімде деректер түйіндер ретінде сақталады. Әрбір түйін екі сілтемені қамтиды. Бірінші сілтеме алдыңғы түйінге нұсқайды. Келесі сілтеме тізбектегі келесі түйінді көрсетеді.

LinkedList сыныбы AbstractSequentialList сыныбын кеңейтеді және List интерфейсін жүзеге асырады. Сондықтан List интерфейсінің әдістерін LinkedList пайдалана алады. Тізім элементтеріне қол жеткізу үшін get() әдісін пайдалануға болады. Тізімге элементтерді қосу үшін add() әдісін қолдануға болады. Remove() әдісі тізімнен элементті жою үшін қолданылады. Төмендегі бағдарламаны қараңыз.

ArrayList және LinkedList арасындағы негізгі айырмашылық
ArrayList және LinkedList арасындағы негізгі айырмашылық
ArrayList және LinkedList арасындағы негізгі айырмашылық
ArrayList және LinkedList арасындағы негізгі айырмашылық

02-сурет: сілтемелер тізімі бар мысал

Жоғарыдағы бағдарламаға сәйкес LinkedList объектісі жасалады. Қосу әдісін қолдану арқылы элементтерді динамикалық түрде қосуға болады. "A", "B", "C", "D" және "E" элементтері қосу әдісі арқылы қосылады. Жою әдісі тізімнен элементті жою үшін пайдаланылады. Жою әдісіне 4 бергенде, 4-ші индекстегі «E» әріпі тізімнен жойылады. For циклін пайдаланып қайталау кезінде A, B, C және D әріптері басып шығарылады.

ArrayList және LinkedList арасында қандай ұқсастықтар бар?

  • ArrayList және LinkedList екеуі де Тізім интерфейсін жүзеге асырады.
  • ArrayList және LinkedList екеуі де қайталанатын элементтерді қамтуы мүмкін.
  • ArrayList және LinkedList екеуі де кірістіру ретін сақтайды.

Массивтер тізімі мен байланыстырылған тізімнің айырмашылығы неде?

Массивтер тізімі және сілтемелер тізімі

ArrayList - AbstractList кеңейтетін және деректер элементтерін сақтау үшін динамикалық массивті іштей пайдаланатын Тізім интерфейсін жүзеге асыратын класс. LinkedList - AbstractSequentialList кеңейтетін және деректер элементтерін сақтау үшін қосарланған тізімді іштей пайдаланатын List, Deque, Queue интерфейстерін жүзеге асыратын класс.
Элементтерге кіру
ArrayList элементтеріне қол жеткізу LinkedListке қарағанда жылдамырақ. LinkedList элементтеріне қол жеткізу ArrayListке қарағанда баяу.
Элементтерді өңдеу
ArrayList элементтерін өңдеу LinkedListке қарағанда баяу. LinkedList элементтерін өңдеу ArrayListке қарағанда жылдамырақ.
Мінез
Массив тізімі тізім ретінде орындалады. LinkedList тізім және кезек ретінде орындалады.

Қорытынды – Массивтер тізімі және сілтемелер тізімі

Жинақ құрылымы тізімдер, ағаштар, карталар және жиындар сияқты деректер құрылымдарымен жұмыс істеуге мүмкіндік береді. Тізім коллекциялық құрылымның интерфейсі болып табылады. Бұл мақалада ArrayList пен LinkedList арасындағы айырмашылық талқыланды. ArrayList - AbstractList тізімін кеңейтетін және деректер элементтерін сақтау үшін динамикалық массивті іштей пайдаланатын Тізім интерфейсін жүзеге асыратын класс. LinkedList - AbstractSequentialList кеңейтетін және деректер элементтерін сақтау үшін қосарланған тізімді іштей пайдаланатын List, Deque, Queue интерфейстерін жүзеге асыратын класс. Бұл ArrayList пен LinkedList арасындағы айырмашылық.

Ұсынылған: