2016-02-11 2 views
2

Я новичок в Java, и я хотел бы знать, сколько значений может занимать арраист.Сколько значений может содержать ArrayList?

Я строю проект андроида, который принимает значения из таблицы базы данных (я печатаю значения с помощью json и вызываю файл в java), и записывает эти значения в arraylist.

Если моя таблица имеет 8000 записей, возможно ли, чтобы арраист держал все эти записи?

спасибо.

+0

Зависит от свободной памяти вашего JVM в своем распоряжении. –

+0

Arraylist не будет исчерпывать значения индекса. Но на самом деле хранение значений зависит от столбцов таблицы и вашей памяти. Для простого приложения он должен быть способен, но да, это зависит. –

+0

Хорошо, спасибо за отзыв. –

ответ

3

С ArrayList в Java поддерживается встроенным в массив, ограничение на размер равен такой же, как ограничения на размер массива, то есть 2147483647.

Поскольку ваш проект для андроид платформы , до достижения этого предела у вас не хватит памяти. Однако 8000 - относительно небольшое число. У вас все еще может быть нехватка памяти, если каждая отдельная запись занимает значительную часть памяти, но это произойдет до того, как вы нажмете ограничение на количество записей ArrayList.

2

Если вы посмотрите на documentation for ArrayList, вы увидите, что методы, относящиеся к размеру (добавление, создание, определение размера и т. Д.), Возвращают int. Это означает, что у вас есть 2^31-1 как возможный максимальный размер. Однако, если вы храните что-то серьезное там, вы, вероятно, исчерпаете память задолго до того, как закончите целые числа. В зависимости от памяти 8000 элементов легко входят в возможности класса (по крайней мере, в отношении места хранения).

Смежные вопросы