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