- LinkedList
- ArrayList
- Vector
- Hashtable
- HashMap
¿Cual es mejor o recomiendan para guardar objetos y después iterar?
Supongo que deben de tener sus diferencias, pro y contra.
Gracias por cualquier sugerencia.
zsamer
| |||
Colecciones de Objetos Hola por lo que he leído hay varias clases de java que se utilizan comúnmente para guardar colecciones de Objetos:
¿Cual es mejor o recomiendan para guardar objetos y después iterar? Supongo que deben de tener sus diferencias, pro y contra. Gracias por cualquier sugerencia. zsamer Última edición por zsamer; 02/09/2007 a las 00:54 |
| |||
Re: Colecciones de Objetos ¿es muy básico lo que pregunto? Ninguna idea de cual es más optimo para almacenar objetos? |
| |||
Re: Colecciones de Objetos Para mi el mejor de todos es el ArrayList, porque el Vector sus metodos estan preparados para la concurrencia y tarda unas cuatro veces mas. y los Hashtable y HashMap son para relacionar una clave con un valor. |
| |||
Re: Colecciones de Objetos para guardar objetos....también recomiendo un ArrayList ya que esta hecho especialmente para guardar en un array a cualqier objeto no sincronizado...ahora si van a ser sincronizados en alguna ocasión entonces mejor utilizar un vector y claro como mencionan...el arraylist es más rapido pq esta ordenado y en el vector los objetos están desordenados. Saludos |
| |||
Re: Colecciones de Objetos En realidad, desde mi punto de vista, dependiendo del problema se ha de usar una estructura de datos u otra. No hay ninguna mejor que el resto. Todas tiene sus inconvenientes y sus ventajas. Por ejemplo, si va a existir cierta relación entre los objetos y no se van a borrar objetos frecuentemente (tiene acceso secuencial) lo mejor es una usar una estructura dinámica, como es LinkedList. Este tipo de estructura permite un redimensionamiento dinámico, con lo que el aprovechamiento de la memoria es muy bueno. Además, las inserciones de objetos es mucho más rápida que en el resto de estructuras. El ArrayList tiene un acceso a datos superior a la estructura anterior por lo que el borrado de objetos es directo y rápido. La inserción, en cambio, depende de varios casos. Si el array está lleno hay que redimensionar con el consecuente gasto de memoria. Imagínate un vector con un muchísimos elementos y en el que se hacen inserciones frecuentemente. Y en el caso de que el array no está lleno pero se quiera insertar un nuevo elemento en una posición determinada (que no sea la última) esto supone mover el resto de elementos. Imagínate que quieres insertarlo el la posición tres y por detrás hay muchísmas porsiciones.... Mover tantos elementos es un gasto enorme. Y así con el resto de estructuras. Así que, dependiendo de para qué quieras usar la estructura de datos debes utilizar una u otra, analizando bien qué vas a necesitar tener en cuanto a rendimiento en memoria y velocidad en acceso (con el borrado incluido) e inserción de datos. Saludos. |
| |||
Re: Colecciones de Objetos muchas gracias a todos por sus opiniones, me han servido mucho. saludos. |