Арраис вс Арраилистс
Низови су најчешће кориштена структура података за спремање колекције елемената. Већина програмских језика пружа методе за лако декларирање низова и приступ елементима у низовима. Арраилист се може посматрати као динамички низ, који може нарасти у величини. Из тог разлога, програмеру не треба да зна величину арраилисте када га дефинише.
Шта су низови?
Приказано на слици 1, је део кода који се обично користи за декларирање и додељивање вредности пољу. Слика 2 приказује како би низ изгледао у меморији.
инт вредности [5]; вредности [0] = 100; вредности [1] = 101; вредности [2] = 102; вредности [3] = 103; вредности [4] = 104; |
Слика 1: Код за декларирање и додјељивање вриједности пољу
100 | 101 | 102 | 103 | 104 |
Индекс: 0 | 1 | 2 | 3 | 4 |
Слика 2: Низ сачуван у меморији
Изнад кода дефинира низ који може похранити 5 цијелих бројева и њима се приступа помоћу индекса 0 до 4. Једно важно својство матрице је да је цијели низ додијељен као један блок меморије и сваки елемент добива властити простор у пољу . Једном када се дефинира низ, фиксира се његова величина. Дакле, ако нисте сигурни у величину матрице током компајлирања, морали бисте дефинирати довољно велики низ да бисте били на сигурној страни. Али већину времена ћемо заправо користити мањи број елемената него што смо их доделили. Тако да је значајна количина меморије заправо изгубљена. С друге стране, ако „довољно велики низ“ у ствари није довољно велик, програм би се срушио.
Шта су Арраилистс?
Арраилист се може посматрати као динамички низ, који може нарасти у величини. Стога су арраиисти идеални за употребу у ситуацији у којој не знате величину елемената потребних у тренутку декларације. У Јави, арилисти могу држати само објекте, не могу директно држати примитивне типове (можете примити примитивне типове у објект или користити класе омота примитивних типова). Генерално, арилисти имају методе за извођење убацивања, брисања и претраживања. Временска сложеност приступа елементу је о (1), док уметање и брисање има временску сложеност о (н). У Јава-у се арраиисти могу кретати помоћу петље фореацх-а, итератора или једноставно користећи индексе.
Која је разлика између Арраис и Арраилистс
Иако су низови и низови слични у смислу да се обоје користе за складиштење збирки елемената, они се разликују у начину на који су дефинисани. Величина матрице мора се дати када је поље дефинирано, али можете дефинирати матрицу без познавања стварне величине. Елементе можете додати матриксу након што је дефинисан, а то није могуће са низовима. Али у Јави, арраилисти не могу држати примитивне типове, али низови се могу користити за држање примитивних типова. Али ако вам треба структура података која може варирати његову величину, арраилист би био најбољи избор.