ЛинкедЛист вс АрраиЛист у Јави: Знајте главне разлике



Овај чланак ЛинкедЛист вс АрраиЛист пружиће вам правилно поређење између листа које имплементирају интерфејс листе

Листа у Јави је под-интерфејс која даје оптимална решења са концептима као што су положајни приступ, итерација и тако даље. У овом чланку ћу разговарати о главним разликама између интерфејса листе ЛинкедЛист и АрраиЛист у Јави.

Испод су теме обухваћене овим чланком:





Почнимо!

Шта је ЛинкедЛист?

После низови , друга најпопуларнија структура података је дефинитивно а . Повезана листа је линеарна структура података коју чини аланац чворова у којем сваки чвор садржи вредност и апоказивачдо следећег чвора у ланцу.Такође, тпоследња карика на повезаној листи показује на нулу, означавајући крај ланца.Елемент на повезаној листи назива се а чвор .Први чвор на листи назива се глава .Последњи чвор се назива Реп .



Даћу вам једноставан пример овога: Замислите ланац спајалица повезаних заједно. Можете лако додати још једну спајалицу на врх или на дно. Такође је лако уметнути један у средину. Све што треба да урадите је да само прекинете ланац у средини, додате нову спајалицу, а затим поново повежете другу половину. Повезана листа је слична овој.

Пример:

како створити пакет у јави
пакет МиПацкаге импорт јава.утил.ЛинкедЛист импорт јава.утил.ЛистИтератор јавна класа повезана листа {публиц статиц воид маин (Стринг аргс []) {/ * Изјава о повезаној листи * / ЛинкедЛистл_лист = нев ЛинкедЛист () / * адд (Стринг Итем) ис користи се за додавање * предмета на повезану листу * / л_лист.адд ('Јава') л_лист.адд ('Питхон') л_лист.адд ('Сцала') л_лист.адд ('Свифт') Систем.оут.принтлн ( 'Садржај повезане листе:' + л_лист) / * Додај ставке на наведеној позицији * / л_лист.адд (2, 'ЈаваСцрипт') л_лист.адд (3, 'Котлин') Систем.оут.принтлн ('л_лист Садржај након уређивања: '+ л_лист) / * Додај прву и последњу ставку * / л_лист.аддФирст (' Фирст Цоурсе ') л_лист.аддЛаст (' Ласт Цоурсе ') Систем.оут.принтлн (' л_лист Садржај након додавања: '+ л_лист) / * Гет и поставите Ставке на листи * / Објецт фирствар = л_лист.гет (0) Систем.оут.принтлн ('Прва ставка:' + фирствар) л_лист.сет (0, 'Јава9') Систем.оут.принтлн ('л_лист Садржај након ажурирања прве ставке: '+ л_лист) / * Уклони са положаја * / л_лист.ремове (1) л_лист.ремове (2) Систем.оут.принтлн ('ЛинкедЛист након брисања ставке на 2. и 3. позицији' + л_лист) / * Уклони прву и последњу ставку * / л_лист.ремовеФирст () л_лист.ремовеЛаст () Систем.оут.принтлн ('Коначни садржај након уклањања прве и последње ставке : '+ л_лист) / * Итерирање повезане листе * / ЛистИтераторитратор = л_лист.листИтератор () Систем.оут.принтлн (' Листа приказана помоћу итератора: ') вхиле (итратор.хасНект ()) {Систем.оут.принтлн (итратор .следећи()) } } }

Излаз:



Садржај повезане листе = {Јава, Питхон, Сцала, Свифт} Садржај након уређивања = {Јава, Питхон, ЈаваСцрипт, Котлин, Сцала, Свифт} Садржај након додавања = {Први курс, Јава, Питхон, ЈаваСцрипт, Котлин, Сцала, Свифт, Последњи курс} Прва ставка = {Први курс} Садржај након ажурирања прве ставке = {Јава9, Јава, Питхон, ЈаваСцрипт, Котлин, Сцала, Свифт, Ласт Цоурсе} Садржај након брисања предмета на 2. и 3. позицији = {Јава9, Питхон, Котлин, Сцала, Свифт, Последњи курс} Завршни садржај након уклањања прве и последње ставке = {Питхон, Котлин, Сцала, Свифт} Листа приказана помоћу итератора = Питхон Котлин Сцала Свифт

Идемо сада на следећу тему.

Шта је АрраиЛист?

је имплементација интерфејса листе где се елементи могу динамички додавати или уклањати са одговарајуће листе. Овде се величина листе динамички повећава ако се елементи додају више од почетне или стварне величине. Иако је можда спорији од стандардних низова, може бити од помоћи у програмима где је потребно пуно манипулација низом.

LinkedList-vs-ArrayList-in-Java-Edureka

АрраиЛист се користи у ове сврхе:

  • АрраиЛист у Јави је навикао продавница колекција елемената динамичке величине.
  • Иницира се величином. Међутим, величина се може повећати ако колекција расте и смањи се ако се предмети уклоне из .
  • Такође, АрраиЛист вам омогућава насумични приступ листи.

Кренимо напред и укажемо на сличности између ЛинкедЛист и АрраиЛист у Јави.

Сличности између ЛинкедЛист и АрраиЛист

Ово су видљиве сличности између ЛинкедЛист и АрраиЛист у Јави.

  • АрраиЛист и ЛинкедЛист су имплементације Лист интерфаце .
  • И АрраиЛист и ЛинкедЛист одржавају редослед уметања елемената. То значи да би, док би приказивао елементе листе, скуп резултата имао исти редослед којим су елементи уметнути у листу.
  • Класе ТхесеАрраиЛист и ЛинкедЛист нису синхронизоване и могу се експлицитно синхронизовати коришћењем ЦоллецтионсСинцхронизедЛист метода.
  • Итератор и ЛистИтератор које су вратиле ове класе брзи су. То значи да, ако је листа структурно измењена у било ком тренутку након креирања итератора, осимсопствене методе уклањања или додавања итератора, итератор ће бацити а ЦонцуррентМодифицатионЕкцептион .

Разлике између ЛинкедЛист и АрраиЛист

Прво, погледајмо параметре за поређење ЛинкедЛист и АрраиЛист у Јави.

Параметри за упоређивање ЛинкедЛист и АрраиЛист у Јави:

  • Операција
  • Имплементација
  • Процес
  • Меморија
  1. Операције

Операције уметања, додавања и уклањања предмета су брже у а ЛинкедЛист јер не треба да мењамо величину као у Низ листа.

2. Имплементација

Низ листа заснива се на концепт динамички променљивог низа, док ЛинкедЛист заснива се на двоструко повезаној примени листе

3 Процес

ДО ЛинкедЛист класа се може користити као листа и ред јер имплементира интерфејсе Лист и Декуе док АрраиЛист може применити само Листе.

Четири. Меморија

ДО ЛинкедЛист троши више меморије од Низ листа јер сваки чвор у а ЛинкедЛист чува две референце, док Низ листа садржи само податке и њихов индекс

ЛинкедЛист вс АрраиЛист у Јави

ПараметриЛинкедЛистНиз листа
Операције

Операције уметања, додавања и уклањања су прилично брже

Упоредно са операцијамасу овде спори

Имплементација

Прати примену двоструко повезане листе

Следи концепт динамички променљивог низа

Процес

Класа ЛинкедЛист може бити листа и ред јер имплементира интерфејсе Лист и Декуе

шта је променљиво у јави

Класа АрраиЛист може бити листа јер примењује само Листе

Меморија

Потрошња меморије у ЛинкедЛист-у је велика

Мање у поређењу са ЛинкедЛист-ом

То је све народе! Ово нас доводи до краја овог чланка о ЛинкедЛист вс АрраиЛист у Јави. Надам се да сте јасни са оним што се учи у овом чланку.

Ако сте пронашли овај чланак о „ЛинкедЛист вс АрраиЛист у Јави“, погледајте Едурека, поуздана компанија за учење на мрежи са мрежом од више од 250.000 задовољних ученика раширених широм света. Овде смо да вам помогнемо у сваком кораку на путовању и осмислили смо наставни план и програм који је дизајниран за студенте и професионалце који желе да буду програмери Јаве.