elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Ordenar una lista de acuerdo a un dato miembro
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Ordenar una lista de acuerdo a un dato miembro  (Leído 8,901 veces)
nico56

Desconectado Desconectado

Mensajes: 246


Ver Perfil
Ordenar una lista de acuerdo a un dato miembro
« 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.


En línea

sapito169


Desconectado Desconectado

Mensajes: 628



Ver Perfil
Re: Ordenar una lista de acuerdo a un dato miembro
« Respuesta #1 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


« Última modificación: 20 Julio 2010, 01:41 am por sapito169 » En línea

nico56

Desconectado Desconectado

Mensajes: 246


Ver Perfil
Re: Ordenar una lista de acuerdo a un dato miembro
« Respuesta #2 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)
En línea

Leyer


Desconectado Desconectado

Mensajes: 786


leyer@elhacker.net


Ver Perfil WWW
Re: Ordenar una lista de acuerdo a un dato miembro
« Respuesta #3 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.
« Última modificación: 12 Agosto 2010, 01:27 am por LEYER » En línea

nico56

Desconectado Desconectado

Mensajes: 246


Ver Perfil
Re: Ordenar una lista de acuerdo a un dato miembro
« Respuesta #4 en: 20 Julio 2010, 05:55 am »

Osea no hay un metodo -.-, me las tengo q arreglar solo devuelta
En línea

sapito169


Desconectado Desconectado

Mensajes: 628



Ver Perfil
Re: Ordenar una lista de acuerdo a un dato miembro
« Respuesta #5 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();
    }
}
« Última modificación: 20 Julio 2010, 10:26 am por sapito169 » En línea

Debci
Wiki

Desconectado Desconectado

Mensajes: 2.021


Actualizate o muere!


Ver Perfil WWW
Re: Ordenar una lista de acuerdo a un dato miembro
« Respuesta #6 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
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
AYUDA ORDENAR LISTA SIMPLE[C]
Programación C/C++
HRSLASH 0 9,095 Último mensaje 23 Abril 2011, 04:22 am
por HRSLASH
FILE * como dato miembro de una clase (C++)
Programación C/C++
oPen syLar 2 3,311 Último mensaje 18 Octubre 2011, 17:48 pm
por oPen syLar
Problema al ordenar lista c++.
Programación C/C++
Gaspi 6 3,709 Último mensaje 20 Febrero 2015, 22:53 pm
por Gaspi
Problema al ordenar una Lista Doble(Lectura de XML)
Programación C/C++
falconez 1 1,924 Último mensaje 23 Febrero 2015, 03:25 am
por falconez
javascript - Ordenar por encabezados en forma de lista
Programación General
VicInFlames 0 1,648 Último mensaje 2 Noviembre 2015, 21:18 pm
por VicInFlames
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines