java.util.Vector предоставляет векторные классы (векторы) для реализации динамических функций, подобных массиве. Не существует концепции указателей на языке Java, но использование указателей правильно и гибко может значительно улучшить качество программы. Например, так называемый «динамический массив» в C и C ++, как правило, реализуется с помощью указателей. Чтобы восполнить этот недостаток, Java предоставляет богатую библиотеку классов для легкого использования программистами, а векторный класс - один из них. Фактически, гибкость использования массивов также может завершить функции векторных классов, но большое количество методов, предоставленных в векторных классах, значительно облегчают использование пользователей.
После создания объекта векторного класса вы можете вставить в него объекты разных классов по желанию, то есть вам не нужно учитывать тип или способность предварительно выбранного вектора и может легко искать. Для ситуаций, когда вы не знаете или не желаете заранее определенного размера массива, и вам нужно часто искать, вставлять и удалять работу. Вы можете рассмотреть возможность использования векторных классов.
Векторный класс реализует динамический массив. Это похоже на ArrayList, но они разные:
Векторный класс поддерживает 4 метода строительства.
1. Первый конструктор создает вектор по умолчанию с размером по умолчанию 10:
Вектор()
2. Второй метод строительства создает вектор указанного размера.
Вектор (int size)
3. Третий метод конструкции создает вектор указанного размера, и приращение указывается по увеличению. Приращение представляет количество элементов, которые вектор увеличивается в каждый раз.
Вектор (int size, int incr)
4. Четвертый конструктор создает вектор, содержащий элементы набора C:
Вектор (коллекция c)
Система автоматически будет управлять векторами, используя первый метод, если используются последние два метода. Система установит емкость векторного объекта (то есть размер данных, которые векторный объект может хранить) в соответствии с параметрами, и когда количество данных фактически сохраняется, превышает емкость. Система расширит емкость хранения векторных объектов.
Пратовая емкость дает значение расширения для каждого расширения. Когда емкость составляет 0, расширение не будет удвоено. Эту функцию можно использовать для оптимизации хранения. Различные методы предоставляются в векторном классе для облегчения использования пользователей:
Вставьте функцию:
(1) Публичный окончательный синхронизированный добавление пустоты (объект obj)
Вставьте OBJ в хвост вектора. OBJ может быть любым типом объекта. Для того же векторного объекта в него также могут быть вставлены различные типы объектов. Но вставка должна быть объектом, а не числовым значением, поэтому при вставке числового значения вы должны обратить внимание на преобразование массива в соответствующий объект.
Например: при вставке целого числа 1 не вызовите v1.addelement (1). Правильный метод:
Вектор v1 = новый вектор (); Integer Integer1 = Новое целое число (1); v1.addelement (Integer1);
(2) Публичный окончательный синхронизированный void setelementat (объект obj, int index)
Установите объект в индексе в OBJ, и исходный объект будет перезаписан.
(3) Публичный окончательный синхронизированный void insertelement (объект obj, int index)
Вставьте OBJ в положение, указанное в индексе, и исходный объект и последующие объекты будут отложены по очереди.
Удалить функцию:
(1) Публичный окончательный синхронизированный void removeElement (объект obj)
Удалить OBJ из вектора. Если есть несколько существований, начните с векторного заголовка и удалите первого векторного члена, найденного с таким же, как OBJ.
(2) публичная окончательная синхронизированная пустота удаляет ();
Удалить все объекты в вектор
(3) Общественный синхронизированный void void void retelementatat (int index)
Удалить объект, где указан индекс
Функция поиска запроса:
(1) public final int indexof (объект obj)
Начните искать OBJ из заголовка Vector и вернуть подписку, соответствующий первой встрече OBJ. Если этого OBJ не существует, верните -1.
(2) Публичный окончательный синхронизированный индекс int (объект obj, int index)
Начните искать OBJ из индекса, указанного индексом.
(3) Public Final Int Lastindexof (Object obj)
Начало обратного поиска OBJ из хвоста вектора.
(4) Публичный окончательный синхронизированный int astindex (объект obj, int index)
Поиск OBJ в обратном направлении от конца к головке от индекса, указанного Index.
(5) Public Final Syncornized FirstElement ()
Получите первый OBJ в векторном объекте
(6) Публичный окончательный синхронизированный объект Lextelement ()
Получите последний OBJ векторного объекта
Пример
Следующая программа объясняет несколько методов, поддерживаемых этой коллекцией:
Импорт java.util.*; public class vectordemo {public static void main (string args []) {// Начальный размер - 3, приращение 2 вектор v = новый вектор (3, 2); System.out.println («Начальный размер:» + v.size ()); System.out.println («Начальная емкость:» + v.capacity ()); V.Addelement (новое целое число (1)); V.Addelement (новое целое число (2)); V.Addelement (новое целое число (3)); V.Addelement (новое целое число (4)); System.out.println («емкость после четырех дополнений:» + v.capacity ()); V.Addelement (новый двойной (5,45)); System.out.println («Текущая емкость:» + v.capacity ()); V.Addelement (новый двойной (6.08)); V.Addelement (новое целое число (7)); System.out.println («Текущая емкость:» + v.capacity ()); V.Addelement (новый поплавок (9,4)); V.Addelement (новое целое число (10)); System.out.println («Текущая емкость:» + v.capacity ()); V.Addelement (новое целое число (11)); V.Addelement (новое целое число (12)); System.out.println ("Первый элемент:" + (integer) v.firstelement ()); System.out.println ("Последний элемент:" + (Integer) v.lastelement ()); if (v.contains (new Integer (3))) System.out.println («вектор содержит 3.»); // перечислять элементы в векторе. Перечисление Venum = v.Elements (); System.out.println ("/nelements in Vector:"); while (venum.hasmoreelements ()) System.out.print (venum.nextelement () + ""); System.out.println (); }}Приведенный выше пример компиляции и результаты работы следующие:
Начальный размер: 0 Единица: 3CAPAINENTION После четырех дополнений: 5 КОНТРОВЫЕ СВОЗКА: 5 КУРРЕНТ.