Está usted en Indice > Construcción > Lenguajes > Java > Lecciones y Paso a Paso > Ordenación de colecciones de objetos
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Ordenación de colección de objetos (2)

Nosotros tendremos que decidir que hace que un Usuario vaya antes que otro, pongamos por ejemplo el orden alfabético.

class Usuario1 implements Comparable {

private String nombre;
private int edad;

Usuario1(String nombre, int edad) {
this.nombre = nombre;
this.edad = edad;
}

public String getNombre() {
return nombre;
}

public int getEdad() {
return edad;
}

public String toString() {
return nombre + " (" + edad + ")";
}

public int compareTo(Object o) {
Usuario1 otroUsuario = (Usuario1) o;
//podemos hacer esto porque String implementa Comparable
return nombre.compareTo(otroUsuario.getNombre());
}
}

Ordenando: la clase java.util.Collections.


Como he dicho antes, muchas de las cosas más básicas (y muchas otras no tan básicas) que podamos necesitar en nuestros programas Java ya estan implementadas. En el caso de las colecciones de elementos se encuentran en el paquete java.util. Allí podreís encontrar todas las clases para mantener grupos de elementos (listas, pilas, árboles, etc), y como no, clases de utilidad. Eso es lo que ahora necesitamos, una clase de utilidad: java.util.Collections, no confundir con el interface java.util.Collection, base de (casi) todas las colecciones de objetos.

Esta clase contiene muchos métodos, para hallar el elemento más pequeño o el más grande de una colección, para barajearlos (cambiar su orden de forma aleatoria), para ponerlos en orden inverso al actual, etc. Solo teneis que consultar el API.

Por supuesto esta clase tiene un método para ordenar colecciones de elementos, y es eso lo que nos ocupa ahora.

Method Summary
static void sort(List list)
Sorts the specified list into ascending order, according to the natural ordering of its elements.

Como veis este método puede ordenar cualquier colecion que implemente el interface java.util.List, y ese orden natural se refiere al orden que indican el método comparteTo que hemos visto antes.

Un ejemplo para ordenar distintos java.lang.String sería de la siguietne forma:

ArrayList lista = new ArrayList();
lista.add("uno");
lista.add("dos");
lista.add("tres");
lista.add("cuatro");
printList(lista);
System.out.println("n Ahora ordenados...");
Collections.sort(lista);
//metodo que imprime la lista
printList(lista);



Usuarios que han visto este tema también han visto...

- Clases e instancias en Java.
- Forzar la Finalización y la Recolección de Basura en Java
- Utilerias Java
- Deshabilitar todos los componentes incluidos en un Container Swing en Java
- Listar fuentes del sistema


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad






Cursos de Community Manager

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 25-05-2012 a las 21:55:59