Vector es una subclase de AbstractList, y Stack es una subclase de Vector en la API de Java. El marco de colecciones de Java se introdujo en Java 2. Anteriormente se admitían varias estructuras de datos, entre ellas las clases Vector y Stack. Estas clases fueron rediseñadas para encajar en el marco de colecciones de Java, pero todos sus métodos antiguos se conservan para
compatibilidad.
Vector es lo mismo que ArrayList, excepto que contiene métodos sincronizados para acceder y modificar el vector. Los métodos sincronizados pueden evitar la corrupción de datos cuando dos o más subprocesos acceden a un vector y lo modifican simultáneamente. Para las muchas aplicaciones que no requieren sincronización, usar ArrayList es más eficiente que usar Vector.
La clase Vector extiende la clase AbstractList. También tiene los métodos contenidos en la clase Vector original definida antes de Java 2, como se muestra en la Figura siguiente.
La mayoría de los métodos de la clase Vector enumerados en el diagrama UML de la figura anterior son similares a los métodos de la interfaz List. Estos métodos se introdujeron antes del marco de colecciones de Java. Por ejemplo, addElement(Object element) es lo mismo que el método add(Object element), excepto que el método addElement está sincronizado. Utilice la clase ArrayList si no necesita sincronización. Funciona mucho más rápido que Vector.
El método elements() devuelve una Enumeración. La interfaz Enumeration se introdujo antes de Java 2 y fue reemplazada por la interfaz Iterator. Vector se usa ampliamente en el código heredado de Java porque era la implementación de matriz redimensionable de Java antes de Java 2.
En Java Collections Framework, Stack se implementa como una extensión de Vector, como se ilustra en la figura siguiente.
La clase Stack se introdujo antes de Java 2. Los métodos que se muestran en la figura anterior se usaron antes de Java 2. El método empty() es el mismo que isEmpty (). El método peek() mira el elemento en la parte superior de la pila sin eliminarlo. El método pop() elimina el elemento superior de la pila y lo devuelve. El método push(Object element) agrega el elemento especificado a la pila. El método search(Object element) comprueba si el elemento especificado está en la pila.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3