Векторы на Яве - PullRequest
       4

Векторы на Яве

4 голосов
/ 06 января 2012

Я недавно начал изучать Java.Я изучал Векторы , и я столкнулся с различными методами объявления вектора

Vector ()

Vector (int size)

Vector(int size, int incr)

Vector (Collection c)

Я смог понять первые два типа, но не смог понять тип приращения в 3-м типе и чтои когда использовать 4-й тип.

объясните плз.

Ответы [ 5 ]

5 голосов
/ 06 января 2012

Вы должны использовать Vector (int size, int incr), когда хотите контролировать, какой размер для Vector будет установлен после его переполнения.

Вы должны использовать Vector (Коллекция c), если хотите заполнить его значениями из другой Коллекции.

Перейдите по этой ссылке для получения дополнительной информации.

Обратите внимание, что в большинстве случаев вы должны использовать ArrayList , а не Vector . Метод Vector синхронизирован, вам это не понадобится всегда.

4 голосов
/ 06 января 2012

acityIncrement - величина, на которую увеличивается емкость при переполнении вектора.

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

Vector (Collection c): создает вектор, содержащий элементы указанной коллекции, в том порядке, в котором они возвращаются итератором коллекции.

Вы можете поместить коллекцию элементов в вектор и использовать функциональность векторного класса.

2 голосов
/ 06 января 2012

Векторы используют базовый массив для хранения своих элементов.Как вы знаете, емкость массива фиксирована.Если вы сказали, что размер массива равен 20, это никогда не изменится:

int[] array = new int [20];

Для третьего конструктора возьмем, например:

Vector v = new Vector(20, 10);

хотя вектор изначально пуст, у него есть базовый массив размером 20. Как только вы добавите в него 20 элементов, его емкость (базовый размер массива) увеличится до 30. Увеличение размера базового массива фактически выполняетсясоздание нового массива с новым размером и копирование всех элементов из старого массива в новый.Это дорогостоящая операция, поэтому, если вы знаете, что ваш вектор будет расти быстрыми темпами, хорошо установить большое значение приращения, чтобы перераспределение массива появлялось как можно реже.в основном создайте вектор из любой коллекции, которую вы хотите.

2 голосов
/ 06 января 2012
Vector(int size, int incr)

incr - если вектор заполнится, на сколько нужно увеличить его емкость.

Vector(Collection c)

Если у вас уже есть другая коллекция (список, набор) и создайте начальный вектор с помощьюкопирование этих значений коллекции.

1 голос
/ 06 января 2012

Третий из документации :

Создает пустой вектор с указанными начальной емкостью и приращением емкости.

Проще говорявторой параметр говорит о том, насколько увеличится емкость при достижении старого.

И четвертое из документации :

Создает вектор, содержащий элементы указанной коллекции, в том порядке, в котором они возвращаются итератором коллекции..

Вы можете вставлять элементы при создании вектора.

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