объем памяти объекта - PullRequest
       6

объем памяти объекта

1 голос
/ 12 августа 2010

Каковы будут последствия, если мы будем хранить огромную коллекцию объектов в Arraylist, когда она их не ожидает (т.е. мы можем инициализировать Arraylist для размещения 10/100/1000 объектов, однако во время выполнения мы можем хранить около 100 тысяч объектов).

и что лучше из двух ниже, если мы знаем, что это произойдет в какой-то момент времени.1). Создать пустой список или 2). Создать список с заранее заданным регистром.или оба не имеют значения, они одинаковы?

Ответы [ 4 ]

1 голос
/ 12 августа 2010

Вы сможете вставить достаточно объектов до начального размера ArrayList без изменения его размера. Следующий объект, который вы добавите в ArrayList, изменит его размер (см. ensureCapacity), удвоив емкость ArayList.

Смотрите также

1 голос
/ 12 августа 2010

Не очень.Он удваивает размер резервного массива каждый раз, когда он заканчивается.В худшем случае это будет почти вдвое больше, чем содержимое, и при создании, что сосуществовать с массивом вдвое меньше.Если они не являются навесными, объекты, на которые они ссылаются, должны занимать значительно больше памяти.

0 голосов
/ 12 августа 2010

Для этого вам нужно будет выполнить тест производительности.

Что касается ArrayList, arraylist был спроектирован так, чтобы всегда изменять размер для обработки как можно большего количества объектов (при условии, что JVM может хранить все эти объекты).в стеке).

Вам не нужно беспокоиться о заполнении массива.

0 голосов
/ 12 августа 2010

Емкость ArrayList будет увеличена за счет обеспечения емкости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...