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

Аутор: Laura McKinney
Датум Стварања: 2 Април 2021
Ажурирати Датум: 15 Може 2024
Anonim
20 znakova da je neko tajno zaljubljen u tebe
Видео: 20 znakova da je neko tajno zaljubljen u tebe

Садржај


Листа и АрраиЛист су чланови оквира Цоллецтион. Листа је збирка елемената у низу у којима је сваки елемент објект и елементима се приступа тамо позицијом (индексом). АрраиЛист креира динамички низ објеката који се повећава или смањује у величини кад год је потребно. Примарна разлика између Листа и АрраиЛиста је та Листа је интерфејс и Низ листа је класа. Испитајмо разлику између Листе и АрраиЛиста уз помоћ упоредног графикона приказаног доле.

  1. Упоредни графикон
  2. Дефиниција
  3. Кључне разлике
  4. Закључак

Упоредни графикон

Основе за упоређивањеЛистаНиз листа
ОсновниЛиста је интерфејсАрраиЛист је стандардна колекционарска класа.
СинтаксаСписак интерфејсакласа АрраиЛист
Проширење / имплементацијаЛисте интерфејса проширује Фрамеворк Цоллецтион.АрраиЛист проширује АбстрацтЛист и имплементира Лист Интерфаце.
Простор именаСистем.Цоллецтионс.Генериц.Систем.Цоллецтионс.
ПосаоКористи се за прављење листе елемената (објеката) који су повезани са њиховим индексним бројевима.АрраиЛист се користи за креирање динамичког низа који садржи објекте.


Дефиниција листе

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

Поред метода које је наследио Цоллецтион Фрамеворк, Лист интерфејс такође дефинише неки властити метод. Методе које је доделио Лист интерфејс су: додај (инт, Е) и аддАлл (инт, колекција). Ове методе додају елемент листи по свом индексу. Методе унутар листе могу избацити изузетак попут УнсуппортедОператионЕкцептион ако метода не може да измени листу. Кад је један објект на листи некомпатибилан са другим објектом на листи, тада ЦлассЦастЕкцептион бачени.Нови елементи нису дозвољени на листи ако покушате да у спис уметнете нулани објект, НуллПоинтерЕкцептион је бачен.


Елемент са листе можете добити помоћу добити() метод. Можете поставити вриједност елемента у листи користећи комплет() метод. Подлистј такође можете добити са листе користећи методу сублист (). Постаје згодно да радите на подлисти, а не на листи.

Дефиниција АрраиЛист-а

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

АрраиЛист има конструкторе који стварају низ са својим инцијалним капацитетом. Иако се капацитет објекта класе АрраиЛист аутоматски повећава када се елементи додају у низ, ипак можете ручно повећати капацитет објекта АрраиЛист користећи методу осигурати Капацитет (). Боље је повећати капацитет матрице у почетку, уместо да касније меморију поново прерасподелите. Јер преусмеравање је скупље од додељивања меморије одједном.

  1. Једна од најважнијих разлика између Листе и АрраиЛиста је та што је листа интерфејс а АрраиЛист је стандардна колекција класа.
  2. Интерфејс листе проширује Колекција док се АрраиЛист проширује АбстрацтЛист Класа и она имплементира Листа интерфејси.
  3. Простор имена за Лист интерфејс је Систем.Цоллецтион.Генериц док је простор имена АрраиЛист Систем.Цоллецтион.
  4. Листе интерфејса ствара колекцију елемената који су смештени у низу и који су идентификовани или којима се приступа њиховим индексним бројем. С друге стране, АрраиЛист креира низ објеката где низ може динамички расти када је потребно.

Закључак:

АрраиЛист превазилази проблем статичке матрице у стандардној Јави, тј. Матрица не може нарасти у величини након што је креирана. Када се низ креира помоћу АрраиЛист-а, ствара се динамички низ који може расти и смањивати се по величини по потреби. Стандардна колекционарска класа АрраиЛист проширује интерфејс листе.