Разлика између листе и АрраиЛиста на Јави
Садржај
Листа и АрраиЛист су чланови оквира Цоллецтион. Листа је збирка елемената у низу у којима је сваки елемент објект и елементима се приступа тамо позицијом (индексом). АрраиЛист креира динамички низ објеката који се повећава или смањује у величини кад год је потребно. Примарна разлика између Листа и АрраиЛиста је та Листа је интерфејс и Низ листа је класа. Испитајмо разлику између Листе и АрраиЛиста уз помоћ упоредног графикона приказаног доле.
- Упоредни графикон
- Дефиниција
- Кључне разлике
- Закључак
Упоредни графикон
Основе за упоређивање | Листа | Низ листа |
---|---|---|
Основни | Листа је интерфејс | АрраиЛист је стандардна колекционарска класа. |
Синтакса | Списак интерфејса | класа АрраиЛист |
Проширење / имплементација | Листе интерфејса проширује Фрамеворк Цоллецтион. | АрраиЛист проширује АбстрацтЛист и имплементира Лист Интерфаце. |
Простор имена | Систем.Цоллецтионс.Генериц. | Систем.Цоллецтионс. |
Посао | Користи се за прављење листе елемената (објеката) који су повезани са њиховим индексним бројевима. | АрраиЛист се користи за креирање динамичког низа који садржи објекте. |
Дефиниција листе
Листа је интерфејс који продужава Колекција оквир. Интерфејс листе описује колекцију елемената који су поредани редоследно. Интерфејс листе имплементирају следеће стандардне класе колекције попут АрраиЛист, ЛинкедЛист, ЦопиОнВритеАрраиЛист, Вецтор, Стацк. Интерфејс листе садржи елементе који су повезани са њиховим индексним бројевима. Елементу на листи можете приступити по његовом положају (индексу) на листи. Листа креирана коришћењем Листе интерфејса почиње са индексом који се темељи на нули.
Поред метода које је наследио Цоллецтион Фрамеворк, Лист интерфејс такође дефинише неки властити метод. Методе које је доделио Лист интерфејс су: додај (инт, Е) и аддАлл (инт, колекција). Ове методе додају елемент листи по свом индексу. Методе унутар листе могу избацити изузетак попут УнсуппортедОператионЕкцептион ако метода не може да измени листу. Кад је један објект на листи некомпатибилан са другим објектом на листи, тада ЦлассЦастЕкцептион бачени.Нови елементи нису дозвољени на листи ако покушате да у спис уметнете нулани објект, НуллПоинтерЕкцептион је бачен.
Елемент са листе можете добити помоћу добити() метод. Можете поставити вриједност елемента у листи користећи комплет() метод. Подлистј такође можете добити са листе користећи методу сублист (). Постаје згодно да радите на подлисти, а не на листи.
Дефиниција АрраиЛист-а
Једна од стандардних класа Цоллецтион је АрраиЛист која се проширује АбстрацтЛист класе и такође имплементира Листа интерфејс. Класа АрраиЛист користи се за креирање динамичких низова који расту и смањују се кад год је потребно. Листа креирана помоћу класе АрраиЛист није ништа друго него низ објеката. У Јави стандардни низ има фиксну дужину, тако да морате унапред знати величину матрице. Но, може се десити да можда не знате која је дужина низа потребна до времена покретања. Стога је оквир Цоллецтион увео класу АрраиЛист да би превазишао ово питање.
АрраиЛист има конструкторе који стварају низ са својим инцијалним капацитетом. Иако се капацитет објекта класе АрраиЛист аутоматски повећава када се елементи додају у низ, ипак можете ручно повећати капацитет објекта АрраиЛист користећи методу осигурати Капацитет (). Боље је повећати капацитет матрице у почетку, уместо да касније меморију поново прерасподелите. Јер преусмеравање је скупље од додељивања меморије одједном.
- Једна од најважнијих разлика између Листе и АрраиЛиста је та што је листа интерфејс а АрраиЛист је стандардна колекција класа.
- Интерфејс листе проширује Колекција док се АрраиЛист проширује АбстрацтЛист Класа и она имплементира Листа интерфејси.
- Простор имена за Лист интерфејс је Систем.Цоллецтион.Генериц док је простор имена АрраиЛист Систем.Цоллецтион.
- Листе интерфејса ствара колекцију елемената који су смештени у низу и који су идентификовани или којима се приступа њиховим индексним бројем. С друге стране, АрраиЛист креира низ објеката где низ може динамички расти када је потребно.
Закључак:
АрраиЛист превазилази проблем статичке матрице у стандардној Јави, тј. Матрица не може нарасти у величини након што је креирана. Када се низ креира помоћу АрраиЛист-а, ствара се динамички низ који може расти и смањивати се по величини по потреби. Стандардна колекционарска класа АрраиЛист проширује интерфејс листе.