Класс Vector в java
Класс java Vector реализует массив объектов, похожий на ArrayList. Векторные элементы доступны через целочисленный индекс. Размер Vector варьируется в зависимости от необходимости (добавления или удаления элементов) после создания.Vector синхронизирован, что означает, что он позволяет выполнять несколько операций одновременно, однако не гарантирует хорошей производительности при использовании многопоточности. Рекомендуется использовать ArrayList, который дает хорошую производительность, если вам не нужно будет синхронизировать список.
Vector реализует интерфейс List как ArrayList, его недостаток в том, что он дает плохую производительность, как уже упоминалось, из-за его синхронизации в операциях добавления, поиска, удаления и изменения этих элементов.
Класс Vector поддерживает 4 конструктора:
1)Vector v = new Vector();
Этот конструктор создает пустой вектор с начальным размером 10. Размер вектора будет изменен, если он превысит 10 элементов, чтобы 11-й элемент был вставлен в Vector.
2)Vector v = new Vector(int capabilityInitial);
Эта фигура инициализирует вектор начальным размером, который определяет количество элементов, которые нужно выделить.
Vector v = new Vector(5);//Он создаст вектор емкостью 5.
3)Vector v = new Vector(int capabilityInitial, int capacityIncrement)
Создает вектор с начальной емкостью и указывает, сколько тайлов будет выделено, когда Vector изменит размер емкости, если количество элементов достигнет максимального размера.
Вектор v = новый Vector(8);
Он создаст вектор с емкостью 8 и емкостью приращения 4. Что это значит, что при вставке 9-го элемента размер будет равен 12(8+4), а 16-й вставка будет равен 20(16+4).
4)Vector v = new Vector(Collection c);
Инициализирует вектор коллекцией объектов (ArrayList, TreeSet, HashMap и т.д.).
Важные методы Vector
Как и в ArrayList и других коллекциях объектов, Vector реализует Список интерфейсов и interface Коллекции от которых он наследует множество методов добавления, удаления, поиска, изменения.
Add Item
Добавление осуществляется двумя методами: add() и addElement(). addElement() после вставки увеличивает размер списка.
import java.util.Vector;Output:
public class addElement{
public static void main(String[] args) {
Vector v = new Vector();
v.add(1);
v.add(2);
v.add(3);
System.out.println(v);
v.addElement(4);
System.out.println(v);
}
}
[1, 2, 3]
[1, 2, 3, 4]
Удалить элемент
Вы можете удалить любой из них с помощью индекса с помощью метода < span style="font-family: Courier New, Courier, minivan;" >remove(int index), либо с помощью вашего собственного метода Vector removeElementAt(int index). Поиск и удаление объекта возможно с помощью метода remove(Object o):
import java.util.Vector;Output:
public class remove{
public static void main(String[] args) {
Vector v = new Vector();
v.add(1);
v.add(2);
v.add(3);
v.add(4);
System.out.println(v);
//удаляем с помощью index
v.remove(2);
System.out.println("удаление элемента по индексу 2: "+v);
//подавление с помощью object
v.remove(new Integer(1));
System.out.println("удалить целое число 1:"+v);
}
}
[1, 2, 3, 4]
delete элемент по индексу 2: [1, 2, 4]
delete integer 1:[2, 4]
elementAt() и setElementAt()
get(int i) или elementAt(int i) возвращает элемент в заданный индекс i и set(Объект o, int i) или setElementAt(Object obj, int i) заменяет элемент на объект obj. get() часто используется для переворачивания элементов при перемещении вектора. Емкость получается с помощью метода size().
import java.util.Vector;Output:
public class Test {
public static void main(String[] args) {
Vector v = new Vector();
v.add(1);
v.add(2);
v.add(3);
v.add(4);
System.out.println("первый элемент: "+v.firstElement());
System.out.println("последний элемент: "+v.lastElement());
for(int i = 0; i< v.size(); i++)
System.out.println(v.get(i));
v.setElementAt("два", 1);
System.out.println(v);
}
}
первый элемент: 1
последний элемент: 4
1
2
3
4
[1, два, 3, 4]
Поиск элемента
Поиск в векторе прост, для этого нужно вызвать метод indexOf(Object o) который возвращает индекс первого найденного вхождения. У нас также есть метод lastIndexOf(Object o) который возвращает индекс последнего найденного вхождения.
import java.util.Vector;Output
public class Test {
public static void main(String[] args) {
Vector v = new Vector();
v.add("java");
v.add("c");
v.add("c++");
v.add("javascript");
v.add("java");
System.out.println("первое вхождение c: "+v.indexOf("c++"));
System.out.println("последнее вхождение java: "+v.lastIndexOf("java"));
}
}
первое вхождение c: 2
последнее вхождение java: 4
- int Capacity(): возвращает емкость списка.
- int setSize(): изменить текущий размер списка.
- boolean contains(Object o): проверяет, содержит ли вектор объект o.
- boolean isEmpty(): возвращает true, если empty.
- Object[] toArray(): преобразованный вектор в массив объектов.
note: size() возвращает размер списка и capacity() возвращает емкость, которую может вместить список. Таким образом, векторный путь всегда делается с помощью size() в противном случае вы увидите ошибку, в которой говорится, что вы превысили size. |
References:
openclassroms vector java
javadoc: vector class