конструктор Vectorа
Vector(int initialCapacity, int capacityIncrement)
Создает пустой вектор с заданным объемом памяти (initialCapacity) и увеличением объема (capacityIncrement).
Приведите пример как им пользоваться.
Особенно интересует как узнать initialCapacity.
За помощь буду признателен.
как узнать initialCapacity - параметр, который можно, если ты заранее знаешь, сколько ты элементов будешь хранить в этом векторе.
нарп, надо тебе массив скопировать в вектор:
Vector v = new Vector(array.length); // в качестве initialCapacity берём array.length
for (int i = 0; i < array.length; i++)
v.add(array);
как узнать initialCapacity - параметр, который можно, если ты заранее знаешь, сколько ты элементов будешь хранить в этом векторе.
нарп, надо тебе массив скопировать в вектор:
Vector v = new Vector(array.length); // в качестве initialCapacity берём array.length
for (int i = 0; i < array.length; i++)
v.add(array);
Вектором вообще не очень желательно пользоваться, это устаревшая реализация динамического массива. А уж не типизированным вектором пользоваться...:rolleyes:
Следует использовать ArrayList. Либо если требуется иметь thread-safe реализацию, используйте спец. контейнеры для этого.
ведь initialCapacity это объем памяти, а при таком задании получается 3
бита, наверно.:confused:
а метод add, помоему сам задает initialCapacity, заново.
Я думаю что если пользоваться конструктором Vector(int initialCapacity),
Взяв за initialCapacity размер объекта в битах.
Можно будет обращаться к его элементам так:
Таковы мои предположения.
ведь initialCapacity это объем памяти, а при таком задании получается 3
бита, наверно.:confused:
Это не объем памяти. Это количество объектов, которое можно будет хранить в векторе, во внутреннем массиве, который используется для хранения данных. При таком создании внутри вектора будет создан массив длиной 3, в который будут сохраняться потом вставляемые в вектор объекты. Когда количество объектов станет больше, чем это current capacity, потребуется реаллокация для внутренних структур хранения данных, при этом новая capacity вектора станет currentCapacity + incrementCapacity.
Что значит по твоему? В Javadoc все написано.
Appends the specified element to the end of this Vector.
initial capacity он не изменит. Но если обнаружится, что текущая емкость меньше, чем размер, который будет иметь вектор после добавления нового элемента, то внутри вектора будет создан новый массив для хранения данных (старый уничтожится, его элементы будут скопированы в новый), но с длинной, увеличенной на incremental Capacity.
Я думаю что если пользоваться конструктором Vector(int initialCapacity),
Взяв за initialCapacity размер объекта в битах.
Можно будет обращаться к его элементам так:
Таковы мои предположения.
Нельзя. Оператор индексации определен только для массивов.
автору топика два совета - 1. найти книжку поактуальнее (на форуме есть ветка отдельная) 2. читать javadoc"и - в них 98% ответов