sort - ordenar un array java
Cómo ordenar un ArrayList en Java (3)
Implementar una interfaz comparable a Fruit.
public class Fruit implements Comparable<Fruit> {
Implementa el método.
@Override
public int compareTo(Fruit fruit) {
//write code here for compare name
}
A continuación, llame método de clasificación
Collections.sort(fruitList);
Esta pregunta ya tiene una respuesta aquí:
- Ordenar ArrayList of custom Objects por propiedad 24 respuestas
Tengo una clase llamada Fruta. Estoy creando una lista de esta clase y agregando cada fruta en la lista. Quiero ordenar esta lista según el orden del nombre de la fruta.
public class Fruit{
private String fruitName;
private String fruitDesc;
private int quantity;
public String getFruitName() {
return fruitName;
}
public void setFruitName(String fruitName) {
this.fruitName = fruitName;
}
public String getFruitDesc() {
return fruitDesc;
}
public void setFruitDesc(String fruitDesc) {
this.fruitDesc = fruitDesc;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
}
y estoy creando su lista usando for loop
List<Fruit> fruits= new ArrayList<Fruit>();
Fruit fruit;
for(int i=0;i<100;i++)
{
fruit = new fruit();
fruit.setname(...);
fruits.add(fruit);
}
y necesito ordenar esta arrayList usando el nombre de la fruta de cada objeto en la lista
¿¿cómo??
Prueba BeanComparator
BeanComparator fieldComparator = new BeanComparator(
"fruitName");
Collections.sort(fruits, fieldComparator);
Utilice un Comparator
como este:
List<Fruit> fruits= new ArrayList<Fruit>();
Fruit fruit;
for(int i = 0; i < 100; i++)
{
fruit = new Fruit();
fruit.setname(...);
fruits.add(fruit);
}
// Sorting
Collections.sort(fruits, new Comparator<Fruit>() {
@Override
public int compare(Fruit fruit2, Fruit fruit1)
{
return fruit1.fruitName.compareTo(fruit2.fruitName);
}
});
Ahora su lista de frutas está ordenada en base a fruitName
.