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

[SOLUCIONADO] Ordenar ArrayList por atributo

Estas en el tema de Ordenar ArrayList por atributo en el foro de Java en Foros del Web. alguien que me pueda aportar ideas de como ordenar un ArrayList por medio de el atributo promedio ya e checado varios lados desde la Api ...
  #1 (permalink)  
Antiguo 20/02/2013, 22:26
 
Fecha de Ingreso: junio-2012
Mensajes: 32
Antigüedad: 11 años, 11 meses
Puntos: 1
Pregunta Ordenar ArrayList por atributo

alguien que me pueda aportar ideas de como ordenar un ArrayList por medio de el atributo promedio
ya e checado varios lados desde la Api hasta videos y no logro

E usado compareto y comparator como clase Externa pero igual no



clase modelo

public class Modelo {
int cal1,cal2,cal3,cal4,cal5,promedio;
String nombre,apellidos;
ArrayList a;
public Modelo(){

}

public Modelo(String nombre,String apellidos,int cal1,int cal2,int cal3,int cal4,int cal5,int promedio){
this.nombre=nombre;
this.apellidos=apellidos;
this.cal1=cal1;
this.cal2=cal2;
this.cal3=cal3;
this.cal4=cal4;
this.cal5=cal5;
this.promedio=promedio;

}

public void setNombre(String nombre){
this.nombre=nombre;
}
public void setApellidos(String apellidos){
this.apellidos=apellidos;
}
public void setCal1(int cal1)
{ this.cal1=cal1;

}
public void setCal2(int cal2){
this.cal2=cal2;
}
public void setCal3(int cal3){
this.cal3=cal3;
}
public void setCal4(int cal4){
this.cal4=cal4;
}
public void setCal5(int cal5){
this.cal5=cal5;
}
public void setPromedio(int promedio){
this.promedio=promedio;
}
public int getPromedio(){
return promedio;
}
public String getNombre(){
return nombre;
}
public String getApellidos(){
return apellidos;
}
public int getCal1(){
return cal1;
}
public int getCal2(){
return cal2;
}
public int getCal3(){
return cal3;
}
public int getCal4(){
return cal4;
}
public int getCal5(){
return cal5;
}


clase main


public class Main extends Modelo {

public int selector=1;
public ArrayList a=new ArrayList();
Modelo u;

public Main(){
while(selector!=0){
selector=Integer.parseInt(JOptionPane.showInputDia log("Seleccion una opcion : \n1.-Crear Alumno\n2.-Imprimir alumnos \n3.-Media de los alumnos \n4.-Ordenar Por Promedio \n0.-Salir"));

switch(selector){

case 1:
this.nombre=JOptionPane.showInputDialog("Ingresa nombre");
this.apellidos=JOptionPane.showInputDialog("Ingres a Apellidos");
this.cal1=Integer.parseInt(JOptionPane.showInputDi alog("Calificacion 1"));
this.cal2=Integer.parseInt(JOptionPane.showInputDi alog("Calificacion 2"));
this.cal3=Integer.parseInt(JOptionPane.showInputDi alog("Calificacion 3"));
this.cal4=Integer.parseInt(JOptionPane.showInputDi alog("Calificacion 4"));
this.cal5=Integer.parseInt(JOptionPane.showInputDi alog("Calificacion 5"));
this.promedio=(cal1+cal2+cal3+cal4+cal5)/5;

u=new Modelo(nombre,apellidos,cal1,cal2,cal3,cal4,cal5,p romedio);
a.add(u);




break;

case 2:
imprimir(u);

break;

case 3:

break;

case 4:

break;

}




}




}


public void imprimir(Modelo u){
for(int j = 0;j < a.size();j++){//ahora imprimiremos las personas de nuestro ArrayList
System.out.println("============================== ==============================");
System.out.println("Alumno");
u = (Modelo)a.get(j);
System.out.println("Nombre "+u.getNombre());
System.out.println("Apellidos: "+u.getApellidos());
System.out.println("calificaciones : "+"Español :"+u.getCal1()+"\t"+"Matematicas : "+u.getCal2()+"\t"+"Historia : "+u.getCal3()+"\t"+"Geografia : "+u.getCal4()+"\t"+"Civismo : "+u.getCal5() );
System.out.println("Promedio del alumno :" + u.getPromedio());
System.out.println("============================== ==============================");
}
}













public static void main(String args[]){
Main v=new Main();
}


}







}
  #2 (permalink)  
Antiguo 20/02/2013, 22:56
Avatar de rottenp4nx  
Fecha de Ingreso: octubre-2012
Ubicación: Santiago
Mensajes: 417
Antigüedad: 11 años, 6 meses
Puntos: 36
Respuesta: Ordenar ArrayList por atributo

Quieres ordenar los promedios de mayor a menor ? o viceversa ?

Saludos
  #3 (permalink)  
Antiguo 21/02/2013, 02:17
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Ordenar ArrayList por atributo

http://www.forosdelweb.com/f45/orden...arator-739365/
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.

Etiquetas: Ninguno
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 19:36.