Каковы негативные аспекты наследования класса Java Stack от Vector?

Опубликовано: 23 Февраля, 2023

Java вектор :

Векторы аналогичны массивам в том смысле, что они оба используются для хранения данных, но в отличие от массива векторы неоднородны и не имеют фиксированного размера. Их можно назвать растущими массивами, которые могут соответствующим образом изменять свой размер. Это относительно экономичный способ обработки списков, размер которых может резко измениться.

Он находится в пакете «java.util» и реализует интерфейс List, как показано на рисунке ниже:

Чтобы узнать больше о векторном классе в Java, обратитесь к статье «Векторный класс в Java».

Класс стека:

A Stack is a data structure where elements can be inserted and deleted from the front end also known as the ‘Top’ of the stack. 

Вставка в стек получает стандартное имя Push , а удаление — стандартное имя Pop . Этот класс также можно назвать подклассом Vector. Класс Stack в Java является расширением класса Vector.

Отрицательные стороны класса Java Stack, наследуемого от класса Vector:

Отрицательные стороны класса Java Stack, наследуемого от класса Vector, перечислены ниже:

  • Стек использует систему «последний пришел – первый ушел» (LIFO) , но после наследования от вектора стек показывает свойства, которые сильно отличаются от его описания, например, доступ к элементу из определенного индекса, включая потенциальные исключения индекса и т. д., которые противоречат определению и реализации.
  • Стек — это класс, а не интерфейс, который отличается от реализации структуры коллекции, где структура данных обычно представлена интерфейсом.
  • Стек теперь привязан к Вектору, и невозможно легко обеспечить его реализацию стека.