20/09/2007, 01:45
|
| | Fecha de Ingreso: julio-2007
Mensajes: 21
Antigüedad: 17 años, 5 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. |