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

Ordenar ArrayList

Estas en el tema de Ordenar ArrayList en el foro de Java en Foros del Web. Hola, Quisiera saber como se puede hacer para ir ordenando un ArrayList al mismo tiempo que añado los elementos. No quiero ordenar cuando ya tengo ...
  #1 (permalink)  
Antiguo 23/05/2008, 10:11
 
Fecha de Ingreso: mayo-2008
Mensajes: 2
Antigüedad: 16 años
Puntos: 0
Ordenar ArrayList

Hola,

Quisiera saber como se puede hacer para ir ordenando un ArrayList al mismo tiempo que añado los elementos.
No quiero ordenar cuando ya tengo todos los elementos.
Me refiero si con el mismo método que utilizo para añadir se puedo ordenar al mismo tiempo.

Ejemplo de método:

public void add(Perro perro) throws KotException{
if (aPerro.contains(perro)){
throw new KotException(KotException.DOG_ALREADY_EXISTS);
} else {
aPerro.add(perro);

}
}

Mi idea era con el método de la burbuja pero no me aclaro con programar el método para arrylist

Gracias.
  #2 (permalink)  
Antiguo 23/05/2008, 11:20
Avatar de djagu_26  
Fecha de Ingreso: enero-2008
Ubicación: Montevideo, Uruguay
Mensajes: 518
Antigüedad: 16 años, 3 meses
Puntos: 6
Respuesta: Ordenar ArrayList

Creas un criterio de ordenamiento y dsp q haces el add del perro escribes Collections.sort(lista, new CriterioNombrePerro());

La clase criterio es asi

Código:
import java.util.Comparator;

public class CriterioNombrePerro implements Comparator{

	public int compare(Object obj1, Object obj2) {
		Perro atr1 = (Perro )obj1;
		Perro atr2 = (Perro )obj2;
		return atr1.getNombre().compareTo(atr2.getNombre());
	}
	
}
saludos
__________________
"La magia no existe, la programacion si"

A/P Agustin Sivoplas
[email protected]
  #3 (permalink)  
Antiguo 23/05/2008, 11:53
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Ordenar ArrayList

Si no vas a tener elementos repetidos en la lista, puedes utilizar un SortedSet, que te lo va ordenando a medida que lo llenas.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
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 00:35.