Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - luxferre

Páginas: [1]
1
Una vez aprendido los conceptos básicos de ordenamiento con el compareTo, se puede hacer uso del framework Collections y su método sort, el cual recibe la lista y ordena según la implementación del método compareTo. Esta es mi implementación:

Código: [Seleccionar]
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;

public class CollectionsCompareTo {

public static void main(String[] args) {

List<Persona> list = new ArrayList<>();

Persona per0 = new Persona("Mario", 187, 22);
list.add(per0);
Persona per1 = new Persona("Pepe", 173, 52);
list.add(per1);
Persona per2 = new Persona("Manuel", 158, 27);
list.add(per2);
Persona per3 = new Persona("David", 164, 25);
list.add(per3);
Persona per4 = new Persona("Alberto", 184, 80);
list.add(per4);

System.out.println("Sin ordenar");
for (int i = 0; i < 5; i++) {
System.out.println(list.get(i));
}

Collections.sort(list);
System.out.println();
System.out.println("Ordenado");
for (int i = 0; i < 5; i++) {
System.out.println(list.get(i));
}

}

public static class Persona implements Comparable<Persona> {

public String nombre;
public int altura;
public int edad;

public Persona(String nombre, int altura, int edad) {
this.nombre = nombre;
this.altura = altura;
this.edad = edad;
}

@Override
public String toString() {
return nombre + " - Altura: " + altura + " - Edad: " + edad;
}

@Override
public int compareTo(Persona o) {

// primer campo para ordenar : ALTURA
// Si quisiese que fuese por la edad se colocaria primero
if (this.altura != o.altura) {  // ICPC Rule (Basado en la implementación usada para programación competitiva)
return o.altura - altura;

// Si las alturas son iguales evalua esta condición
} else if (edad != o.edad) {
return edad - o.edad;
} else { // si la edad y la altura es igual
return 0;
}
}

}
}

Páginas: [1]

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".