Java-справка - PullRequest
       9

Java-справка

2 голосов
/ 03 сентября 2010

Я только начал Java.Пожалуйста, дайте мне знать, что говорит это утверждение

class ABC{
transient Vector<int> temp[];

ABC(int max)
{
 this.temp = new Vector [max];
}

Создает ли он вектор типа int с максимальным размером?

Я человек C ++.

Ответы [ 4 ]

4 голосов
/ 04 сентября 2010

Это создает массив объектов Vector.Длина массива - это то, что передается как "max".

Если вы хотите один вектор, не используйте [].Пара изменений необходима для компиляции приведенного выше кода.

import java.util.Vector;

class ABC
{
    transient Vector temp[];

    ABC(int max)
    {
        this.temp = new Vector[max];
    }
}
3 голосов
/ 04 сентября 2010

Нет,

Чтобы создать вектор максимальной начальной емкости, необходимо

Vector<Integer> v = new Vector (max)

Обратите внимание на две вещи:

  • Использование Integer ине инт.В Java Integer - это объект, а int - примитивный тип.Коллекции не могут использовать примитивные типы, они используют объекты.

  • Емкость v не ограничена max элементами.Он будет расти, если вы добавите более max целых чисел.

Но пусть API-страница говорит

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

Each vector tries to optimize storage management by maintaining a

Емкость и Емкость_инкремент.Емкость всегда как минимум равна размеру вектора;обычно он больше, потому что по мере добавления компонентов к вектору объем памяти вектора увеличивается в кусках до значения параметра sizeIncrement.Приложение может увеличить емкость вектора перед вставкой большого количества компонентов;это уменьшает количество добавочного перераспределения.

0 голосов
/ 04 сентября 2010

класс ABC { переходный вектор <<strong> целое число > темп [];

ABC (макс. Макс.) { this.temp = new Vector [max]; }

читать Integer вместо int. Да, это рабочий код.

0 голосов
/ 04 сентября 2010

Вот javadoc для рассматриваемого конструктора Vector.Скорее всего, вы ищете

this.temp = new Vector<int>(max);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...