«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Векторные и стековые классы

Векторные и стековые классы

Опубликовано 29 июля 2024 г.
Просматривать:789

Вектор — это подкласс AbstractList, а Stack — это подкласс Вектор в Java API. Java Collections Framework была представлена ​​в Java 2. Ранее поддерживалось несколько структур данных, в том числе классы Vector и Stack. Эти классы были переработаны, чтобы соответствовать Java Collections Framework, но все их методы старого стиля сохранены для
совместимость.

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

Класс Vector расширяет класс AbstractList. Он также содержит методы, содержащиеся в исходном классе Vector, определенном до Java 2, как показано на рисунке ниже.

Image description

Большинство методов класса Vector, перечисленных на UML-диаграмме на рисунке выше, аналогичны методам в интерфейсе List. Эти методы были представлены до появления Java Collections Framework. Например, addElement(Object element) аналогичен методу add(Object element) за исключением того, что метод addElement синхронизируется. Используйте класс ArrayList, если вам не нужна синхронизация. Он работает намного быстрее, чем Векторный.

Метод elements() возвращает Перечисление. Интерфейс Enumeration был представлен до Java 2 и был заменен интерфейсом Iterator. Вектор широко используется в устаревшем коде Java, поскольку это была реализация массива изменяемого размера в Java до Java 2.

В Java Collections Framework Stack реализован как расширение Vector, как показано на рисунке ниже.

Image description

Класс Stack был представлен до Java 2. Методы, показанные на рисунке выше, использовались до Java 2. Метод empty() аналогичен методу isEmpty (). Метод peek() просматривает элемент в верхней части стека, не удаляя его. Метод pop() удаляет верхний элемент из стека и возвращает его. Метод push(Object element) добавляет указанный элемент в стек. Метод search(Object element) проверяет, находится ли указанный элемент в стеке.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/paulike/vector-and-stack-classes-k4?1. Если есть какие-либо нарушения, свяжитесь с [email protected], чтобы удалить их.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3