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

Array dinamico

Estas en el tema de Array dinamico en el foro de Java en Foros del Web. Hola Me han dicho y he leido en muchos sitios web que los arreglos en java son dinamicos ya que java usa punteros para todo, ...
  #1 (permalink)  
Antiguo 03/09/2011, 19:05
Avatar de Kristhoff  
Fecha de Ingreso: abril-2009
Ubicación: Popayán - Cauca
Mensajes: 550
Antigüedad: 15 años
Puntos: 12
Array dinamico

Hola
Me han dicho y he leido en muchos sitios web que los arreglos en java son dinamicos ya que java usa punteros para todo, pero tengo un problema al intentar usar arrays.

Resulta que he declarado un arreglo de un arreglo :
Código java:
Ver original
  1. Producto [] Lista = new Producto[10];
Para lo cual si lo lleno digamos de 8 objetos, y usando la propiedad ".length" en el for para mostrar el arreglo me salta error.

Desearia saber como hacer que mis arrays sean dinamicos, gracias.
  #2 (permalink)  
Antiguo 04/09/2011, 01:00
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Array dinamico

Hola:

El array tiene "hueco" para 10 elementos, aunque sólo pongas 8, así que length da 10.

Si no quieres un número de elementos fijo (10 en este caso), usa alguna otra de las colecciones, como LinkedList.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 05/09/2011, 02:01
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Array dinamico

Para mi que no mides la length como se debería medir en el bucle for, por eso te salta el error.

Ejemplo de como se debería hacer

Producto[] lista = new Producto[10];
int numElementos = 0;
int longitudReal = 0;
for (int i = 0; i < lista.length; i++) { // el array se recorre desde 0 a la longitud -1
if (lista[i] != null) {
numElementos++;
longitudReal = i;
}
}

Luego recuperas numElementos y sabes como está de lleno el array
Si quieres saber si hay algún elemento null por medio sólo tienes que comparar numElementos con longitudReal, y si el numElementos es mayor es que te encuentras algún hueco por medio.

Si quieres no tener que depender de los tamaños mejor declara un ArrayList o una Collection y recorrelos con el iterator correspondiente.

Etiquetas: dinamico, arreglos
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 11:34.