Almacenamiento de Datos

Páginas: 44 (10884 palabras) Publicado: 29 de octubre de 2013
Almacenamiento de Datos
Anterior | Siguiente

Ahora se mostrarán clases que permiten almacenar colecciones de objetos, bien de una forma u otra, para facilitar ciertas operaciones que son habituales en la programación.
Arrays
Mucho de lo que se podría decir de los arrays se ha comentado antes, aquí sólo interesa el array como almacén de objetos. Hay dos características que diferencian a losarrays de cualquier otro tipo de colección: eficiencia y tipo. El array es la forma más eficiente que Java proporciona para almacenar y acceder a una secuencia de objetos. El array es una simple secuencia lineal, que hace que el acceso a los elementos sea muy rápido, pero el precio que hay que pagar por esta velocidad es que cuando se crea un array su tamaño es fijado y no se puede cambiar a lolargo de la vida del objeto. Se puede sugerir la creación de un array de tamaño determinado y luego, ya en tiempo de ejecución, crear otro más grande, mover todos los objetos al nuevo y borrar el antiguo. Esto es lo que hace la clase Vector, que se verá posteriormente, pero debido a la carga que supone esta flexibilidad, un Vector es menos eficiente que un array, en cuestiones de velocidad.
Losotros tipos de colecciones disponibles en Java: Vector, Stack y Hashtable; pueden contener cualquier tipo de objeto, sin necesidad de que sea de un tipo definido. Esto es así porque tratan a sus elementos como si fuesen Object, la clase raíz de todas las clases Java. Esto es perfecto desde el punto de vista de que se construye solamente una colección, y cualquier tipo de objeto puede ser almacenadoen ella. Pero aquí es donde los arrays vuelven a ser más eficientes que las colecciones genéricas, porque cuando se crea un array hay que indicar el tipo de objetos que va a contener. Esto significa que ya en tiempo de compilación se realizan comprobaciones para que no se almacene en el array ningún objeto de tipo diferente al que está destinado a contener, ni que se intente extraer un objetodiferente. Desde luego, Java controlará de que no se envíe un mensaje inadecuado a un objeto, ya sea en tiempo de compilación como en tiempo de ejecución.
Las colecciones de clases manejan solamente los identificadores, handles, de los objetos. Un array, sin embargo, puede crearse para contener tipos básicos directamente, o también identificadores de objetos. Es posible utilizar las clasescorrespondientes a los tipos básicos, como son Integer, Double, etc., para colocar tipos básicos dentro de una colección. El colocar una cosa u otra es cuestión de eficiencia, porque es mucho más rápida la creación y acceso en un array de tipos básicos que en uno de objetos del tipo básico.
Desde luego, si se está utilizando un tipo básico y se necesita la flexibilidad que ofrece una colección deexpandirse cuando sea preciso, el array no sirve y habrá que recurrir a la colección de objetos del tipo básico. Quizás se podría pensar que un Vector especializado en cada uno de los tipos básicos podría ser casi igual de eficiente que un array, pero por desgracia, Java no proporciona mas que un tipo de genérico de Vector, en el que se puede meter de todo.
Colecciones
Cuando se necesitan característicasmás sofisticadas para almacenar objetos, que las que proporciona un simple array, Java pone a disposición del programador las clases colección: Vector, BitSet, Stack yHashtable, que mejora en la plataforma Java 2 con las nuevas Colecciones: Map, List y Set.
El siguiente diagram muestra la jerarquía de clases que integran las colecciones en la plataforma Java 2.

En la figura destaca laseparación entre Collection y Map. Además, a la hora de diseñar aplicaciones que utilicen colecciones Java, es importante que el programador recuerde los siguientes puntos:
La interfaz Collection comparte un grupo de objetos y permite duplicados.
La interfaz Set extiende a Collection, pero prohíbe la presencia de duplicados.
La interfaz List extiende a Collection, permite duplicados e introduce un...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Almacenamiento de datos
  • Almacenamiento de los Datos
  • ALMACENAMIENTO DE DATOS
  • Objetivos de almacenamiento de datos
  • Archivos Y Almacenamiento De Datos
  • dispositivos de almacenamiento de datos
  • Almacenamiento de datos distribuidos
  • Dispositivos De Almacenamiento De Datos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS