Подтвердить что ты не робот

Сколько данных может содержать список максимум?

Сколько данных можно добавить в java.util.List в Java максимум?

Есть ли размер по умолчанию для ArrayList?

4b9b3361

Ответ 1

Это зависит от реализации List. Поскольку вы индексируете массивы с int s, ArrayList не может содержать больше элементов Integer.MAX_VALUE. A LinkedList не ограничивается одним и тем же способом и может содержать любое количество элементов.

Ответ 2

Это будет зависеть от реализации, но предел не определяется интерфейсом List.

Однако интерфейс определяет метод size(), который возвращает int.

Возвращает количество элементов в этом списке. Если этот список содержит больше элементов Integer.MAX_VALUE, возвращает Integer.MAX_VALUE.

Итак, нет ограничений, но после того, как вы достигнете Integer.MAX_VALUE, поведение списка немного изменится

ArrayList (который помечен тегами) поддерживается массивом и ограничен размером массива - т.е. Integer.MAX_VALUE

Ответ 3

Сколько данных можно добавить в java.util.List в Java максимум?

Это очень похоже на Теоретический предел для количества ключей (объектов), которые могут быть сохранены в HashMap?

Документация java.util.List явно не документирует ограничение на максимальное количество элементов. Однако в документации List.toArray указано, что...

Возвращает массив, содержащий all элементов в этом списке в правильной последовательности (от первого до последнего элемента);  будут иметь проблемы с реализацией определенных методов, например,

... так строго говоря, было бы невозможно верно реализовать этот метод, если в списке было больше 2 31 -1 = 2147483647 элементов, так как это самый большой возможный массив.

Некоторые утверждают, что документация size()...

Возвращает количество элементов в этом списке. Если этот список содержит больше элементов Integer.MAX_VALUE, возвращает Integer.MAX_VALUE.

... указывает, что нет верхнего предела, но это мнение приводит к многочисленным несоответствиям. См. этот отчет об ошибках.

Есть ли по умолчанию размер списка массивов?

Если вы имеете в виду ArrayList, то я бы сказал, что размер по умолчанию равен 0. Однако емкость по умолчанию (количество элементов, которые вы можете вставить, не заставляя список перераспределять память) равно 10. См. документация конструктор по умолчанию.

Предел размера ArrayList равен Integer.MAX_VALUE, поскольку он поддерживается обычным массивом.

Ответ 4

java.util.List - это интерфейс. Сколько данных может хранить список, зависит от конкретной реализации списка, который вы выбрали для использования.

Как правило, реализация List может содержать любое количество элементов (если вы используете индексированный список, он может быть ограничен Integer.MAX_VALUE или Long.MAX_VALUE). Пока вы не исчерпали память, List не станет "полным" или что-то еще.

Ответ 5

Насколько позволяет доступная память. Там нет ограничения по размеру, кроме кучи.

Ответ 6

Однако интерфейс определяет метод size(), который возвращает int.

Returns the number of elements in this list. If this list contains more than Integer.MAX_VALUE elements, returns Integer.MAX_VALUE.

Итак, нет ограничений, но после того, как вы достигнете Integer.MAX_VALUE, поведение списка немного изменится

ArrayList (который помечен тегом) поддерживается массивом и ограничен размером массива - то есть Integer.MAX_VALUE

Ответ 7

см. код ниже по умолчанию для arraylist, когда вы создаете Список l = новый ArrayList();

   public class ArrayList<E> extends AbstractList<E> implements List<E>,
           Cloneable, Serializable, RandomAccess {

          private static final long serialVersionUID = 8683452581122892189L;

          private transient int firstIndex;

          private transient int lastIndex;

          private transient E[] array;

          /**
           * Constructs a new instance of {@code ArrayList} with ten capacity.
           */
          public ArrayList() {
              this(10);
          }

Ответ 8

Нумерация элементов в массиве java должна начинаться с нуля. Это я думал, что мы можем иметь доступ к Integer.MAX_VALUE + 1 элементам.