Título: Ordenar una lista de acuerdo a un dato miembro Publicado por: nico56 en 19 Julio 2010, 23:43 pm Hola que tal, tengo un arraylist de objetos, estos objetos tienen dos datos miembro , nombre(string) y puntos(int), hay algun metodo que ordene de mayor a menor la lista con respecto a los puntos ? Desde ya gracias y saludos.
Título: Re: Ordenar una lista de acuerdo a un dato miembro Publicado por: sapito169 en 20 Julio 2010, 01:39 am en primer lugar la lista de objetos tienen que ser treeset no un (arraylist ni un vector ni tampoco un array) y en segundo lugar el objeto tiene que inplementar conparable
y java ase toda la magia ;D https://sites.google.com/site/apuntesdejava/Home/comparator-y-comparable otra opcion es recorrer la lista y ordenarla conosido como metodos de ordenacion en mi opinion solo es para practicar y para tenerlo como cultura general por que el api colecion de java ya te ase todo el trabajo (no reinventes la rueda especialmente cuando estas en produccion) aparte hay un monton de librerias que te pueden ordenar listas algunos metodos de ordenacion son burbuja quiksort todos estan en wikipedia por que no lo investigaste primero Título: Re: Ordenar una lista de acuerdo a un dato miembro Publicado por: nico56 en 20 Julio 2010, 04:53 am Nada mas decime el nombre del metodo para ordenar el arrayList :S en base a ese atributo (puntos)
Título: Re: Ordenar una lista de acuerdo a un dato miembro Publicado por: Leyer en 20 Julio 2010, 05:54 am Tendrás que usar la lógica para hacerlo por que el arraylist no es posible solo con el list, yo hice un método para ordenarlo como dices pero no es la gran cosa :xD :xD
Un saludo. Título: Re: Ordenar una lista de acuerdo a un dato miembro Publicado por: nico56 en 20 Julio 2010, 05:55 am Osea no hay un metodo -.-, me las tengo q arreglar solo devuelta
Título: Re: Ordenar una lista de acuerdo a un dato miembro Publicado por: sapito169 en 20 Julio 2010, 09:43 am Citar Nada mas decime el nombre del metodo para ordenar el arrayList :S en base a ese atributo (puntos) el metodo es sort de la clase colections Código: import java.util.Arrays; import java.util.Collections; import java.util.Comparator; import java.util.List; public class Application { public Application(){ } public void comiensa(){ List misArticulos= Arrays.asList(new Articulo("Conputadora",2), new Articulo("raton",1), new Articulo("parlante",5)); Collections.sort(misArticulos,new Comparator(){ public int compare(Object a, Object b) { int codigoPrimero = ((Articulo)a).getCodigo(); int codigoSegundo=((Articulo)b).getCodigo(); int respuesta=0; if(codigoPrimero<codigoSegundo){ respuesta=-1; } if(codigoPrimero>codigoSegundo){ respuesta=+1; } return respuesta; } }); System.out.print(misArticulos); } public static void main (String arg[]){ new Application().comiensa(); } } Título: Re: Ordenar una lista de acuerdo a un dato miembro Publicado por: Debci en 20 Julio 2010, 09:53 am Hola que tal, tengo un arraylist de objetos, estos objetos tienen dos datos miembro , nombre(string) y puntos(int), hay algun metodo que ordene de mayor a menor la lista con respecto a los puntos ? Desde ya gracias y saludos. while iterativo e ir ordenando para re-colocarlos?Saludos |