Foros del Web » Programación para mayores de 30 ;) » Java »

Colecciones de Objetos

Estas en el tema de Colecciones de Objetos en el foro de Java en Foros del Web. Hola por lo que he leído hay varias clases de java que se utilizan comúnmente para guardar colecciones de Objetos: LinkedList ArrayList Vector Hashtable HashMap ...
  #1 (permalink)  
Antiguo 01/09/2007, 20:07
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 5 meses
Puntos: 8
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:
  1. LinkedList
  2. ArrayList
  3. Vector
  4. Hashtable
  5. 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

Última edición por zsamer; 02/09/2007 a las 00:54
  #2 (permalink)  
Antiguo 02/09/2007, 22:03
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 5 meses
Puntos: 8
Re: Colecciones de Objetos

¿es muy básico lo que pregunto?

Ninguna idea de cual es más optimo para almacenar objetos?
  #3 (permalink)  
Antiguo 18/09/2007, 04:56
 
Fecha de Ingreso: septiembre-2007
Mensajes: 268
Antigüedad: 16 años, 7 meses
Puntos: 8
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.
  #4 (permalink)  
Antiguo 19/09/2007, 23:51
 
Fecha de Ingreso: septiembre-2007
Mensajes: 11
Antigüedad: 16 años, 7 meses
Puntos: 1
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
  #5 (permalink)  
Antiguo 20/09/2007, 01:45
 
Fecha de Ingreso: julio-2007
Mensajes: 21
Antigüedad: 16 años, 9 meses
Puntos: 0
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.
  #6 (permalink)  
Antiguo 21/09/2007, 15:32
Avatar de TolaWare
Colaborador
 
Fecha de Ingreso: julio-2005
Mensajes: 4.352
Antigüedad: 18 años, 9 meses
Puntos: 24
Re: Colecciones de Objetos

Existe una clase especifica para colecciones iterables llamadas Iterator, la cual la obtenés a partir de un objeto que herede de Collection.

Fijate cual te conviende usar para llenar la colección y cuando quieras recorrerla, usas el método iterator() de Collection y podés iterar fácilmente la colección.
  #7 (permalink)  
Antiguo 25/09/2007, 18:17
 
Fecha de Ingreso: noviembre-2003
Mensajes: 798
Antigüedad: 20 años, 5 meses
Puntos: 8
Re: Colecciones de Objetos

muchas gracias a todos por sus opiniones, me han servido mucho.

saludos.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:05.