Каковы негативные аспекты наследования класса Java Stack от Vector?
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) , но после наследования от вектора стек показывает свойства, которые сильно отличаются от его описания, например, доступ к элементу из определенного индекса, включая потенциальные исключения индекса и т. д., которые противоречат определению и реализации.
- Стек — это класс, а не интерфейс, который отличается от реализации структуры коллекции, где структура данных обычно представлена интерфейсом.
- Стек теперь привязан к Вектору, и невозможно легко обеспечить его реализацию стека.