Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

Понимание Java Vector: использование, особенности и сравнение с ArrayList

Понимание Java Vector

Это руководство объясняет класс Java Vector, его ключевые методы и отличия от ArrayList. Узнайте, когда выбирать Vector для обеспечения потокобезопасности и какие существуют соображения производительности.


Java Vector против ArrayList

И ArrayList, и Vector предоставляют динамические массивы, но различаются в обработке параллелизма:

Из-за блокировки на каждую операцию Vector может создавать накладные расходы в многопоточных средах, тогда как ArrayList обычно обеспечивает лучшую производительность, когда потокобезопасность не требуется.

Совет: Предпочитайте ArrayList для большинства приложений. Используйте Vector только когда это требуется устаревшим кодом или когда нужна встроенная синхронизация без дополнительных обёрток.


Создание Vector

Вы можете создать экземпляр Vector с обобщённым типом:

Vector<Type> vector = new Vector<>();

Примеры:

// Vector целых чисел
Vector<Integer> numbers = new Vector<>();
// Vector строк
Vector<String> words = new Vector<>();

Ключевые методы Vector

Класс Vector предлагает полный набор операций списка, зеркалящий ArrayList. Некоторые часто используемые методы:

  • add(E element) — добавить элемент в конец.
  • add(int index, E element) — вставить в конкретную позицию.
  • addAll(Collection<? extends E> c) — массовое добавление.
  • get(int index) — получить элемент по индексу.
  • remove(int index) — удалить по индексу.
  • clear() — удалить все элементы.
  • size() — текущее количество элементов.
  • contains(Object o) — проверка существования.
  • toArray() — преобразование в массив.
  • toString() — строковое представление.
  • set(int index, E element) — замена по индексу.

Добавление элементов в Vector

  • add(element) — добавляет элемент в конец.
  • add(index, element) — вставляет по конкретному индексу.
  • addAll(vector) — добавляет все элементы из другого вектора.

Пример:

import java.util.Vector;
class Main {
    public static void main(String[] args) {
        Vector<String> mammals = new Vector<>();
        mammals.add("Dog");
        mammals.add("Horse");
        mammals.add(2, "Cat");
        System.out.println("Vector: " + mammals);
        Vector<String> animals = new Vector<>();
        animals.add("Crocodile");
        animals.addAll(mammals);
        System.out.println("New Vector: " + animals);
    }
}

Вывод

Vector: [Dog, Horse, Cat] New Vector: [Crocodile, Dog, Horse, Cat]

Доступ к элементам Vector

  • get(index) — получение элемента по индексу.
  • iterator() — получение итератора для последовательного доступа.

Пример:

import java.util.Iterator;
import java.util.Vector;
class Main {
    public static void main(String[] args) {
        Vector<String> animals = new Vector<>();
        animals.add("Dog");
        animals.add("Horse");
        animals.add("Cat");
        String element = animals.get(2);
        System.out.println("Element at index 2: " + element);
        Iterator<String> iter = animals.iterator();
        System.out.print("Vector: ");
        while(iter.hasNext()) {
            System.out.print(iter.next() + ", ");
        }
    }
}

Вывод

Element at index 2: Cat Vector: Dog, Horse, Cat, 

Удаление элементов из Vector

  • remove(index) — удаляет элемент в указанной позиции.
  • clear() — эффективно удаляет все элементы.

Пример:

import java.util.Vector;
class Main {
    public static void main(String[] args) {
        Vector<String> animals = new Vector<>();
        animals.add("Dog");
        animals.add("Horse");
        animals.add("Cat");
        System.out.println("Initial Vector: " + animals);
        String removed = animals.remove(1);
        System.out.println("Removed Element: " + removed);
        System.out.println("New Vector: " + animals);
        animals.clear();
        System.out.println("Vector after clear(): " + animals);
    }
}

Вывод

Initial Vector: [Dog, Horse, Cat] Removed Element: Horse New Vector: [Dog, Cat] Vector after clear(): []

Дополнительные методы Vector

МетодОписание
set(int index, E element)Заменяет элемент в указанной позиции.
size()Возвращает количество элементов.
toArray()Преобразует содержимое в массив.
toString()Строковое представление вектора.
contains(Object o)Проверяет, содержит ли вектор указанный элемент.

java

  1. Освоение операторов Java: типы, синтаксис и практические примеры
  2. Комментарии в Java: типы, использование и лучшие практики
  3. Освоение улучшенного цикла for в Java: синтаксис, примеры и лучшие практики
  4. Освоение строк в Java: создание, методы и лучшие практики
  5. Интерфейсы в Java: концепции, реализация и лучшие практики
  6. Анонимные внутренние классы в Java: определение, синтаксис и практические примеры
  7. Try-with-resources в Java: автоматическое управление ресурсами
  8. Аннотации в Java: типы, размещение и практические примеры
  9. Assertions в Java: практическое руководство по обнаружению багов и обеспечению надежности кода
  10. Java 8: Полное справочное руководство (Quick Reference)