Jump to content

Ordenar un ArrayList


Recommended Posts

Hola amigos.

 

Acudo nuevamente para ver si me pueden ayudar con esto que me tiene bien complicado :(

 

En un programa me piden mostrar solo los objetos que esten en un rango de precio determinado, para eso tengo este codigo que funciona bien.

 

 

public ArrayList buscarPorRangoEnArticulo (int rangoMenor, int rangoMayor)
{
ArrayList<Articulo> ran = new ArrayList<Articulo>();
for(Articulo a : articulos)
{
if(a.getPrecio() >= rangoMenor && a.getPrecio() <= rangoMayor)
ran.add(a);
}
return ran;
}
Después eso lo recibe un servlet, el cual también recibe los datos de el rango menos y rango mayor y imprimo los resultados.
Lo que me falta ahora es ordenar el arreglo, pro ejemplo por precio o por nombre.
Alguna idea de como podría hacerlo :( ?
Saludos y de antemano gracias.-

 

 

Edited by StriderKeni
Link to comment
Share on other sites

Bucsca por la funcion sort de la clase collection. Eso permite ordenar de varias formas.

 

Estuve averiguando sobre eso y no me ha funcionado, la verdad no se como implementarla.

Me podrías dar un ejemplo mas o menos para el ArrayList que tengo yo ? Si no es mucha molestia claro.

 

Saludos.-

Link to comment
Share on other sites

Sobre el metodo burbuja lo habia pensado, pero funciona si es que en el arraylist tengo distintos tipos de datos, por ejemplo String, Int, etc ?

 

Soy nulo en java, ayuda pls :(

 

claro con ese metodo se podria pero habria que hacer unos cambios, mira yo tenia guardada una rutina que creo que te servira

 

import java.util.ArrayList;

import java.util.Collections;

 

public class Test{

public static void main(String[] args){

String tus_strings[] = {"aca", "tus", "strings"};

ArrayList lista = new ArrayList();

for(int i=0;i<tus_strings.length;i++){

lista.add(tu_lista[$i]);

}

Collection.sort(lista);

}

}

 

 

y como dicen arriba te falta la libreria collection

Link to comment
Share on other sites

 

Sobre el metodo burbuja lo habia pensado, pero funciona si es que en el arraylist tengo distintos tipos de datos, por ejemplo String, Int, etc ?

 

Soy nulo en java, ayuda pls :(

 

claro con ese metodo se podria pero habria que hacer unos cambios, mira yo tenia guardada una rutina que creo que te servira

 

import java.util.ArrayList;

import java.util.Collections;

 

public class Test{

public static void main(String[] args){

String tus_strings[] = {"aca", "tus", "strings"};

ArrayList lista = new ArrayList();

for(int i=0;i<tus_strings.length;i++){

lista.add(tu_lista[$i]);

}

Collection.sort(lista);

}

}

 

 

y como dicen arriba te falta la libreria collection

 

 

Recien tengo tiempo libre, pero ya te dieron una respuesta.

 

Collections.sort(lista, Collections.reverseOrder());

 

Esa es la otra funcion para ordenar en forma inversa. Solo debes pasarle tu lista, en este caso buscarPorRangoEnArticulo:

 

Collections.sort(buscarPorRangoEnArticulo(), Collections.reverseOrder());

 

o

 

Collection.sort(buscarPorRangoEnArticulo());

 

Esto es dependiendo el orden que quieras mostrar.

Edited by Maurox?
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...