Je veux trier un ArrayList
par une propriété. Ceci est mon code ...
public class FishDB{
public static Object Fish;
public ArrayList<Fish> list = new ArrayList<Fish>();
public class Fish{
String name;
int length;
String LatinName;
//etc.
public Vis (String name) {
this.name = name;
}
}
public FishDB() {
Fish fish;
fish = new Fish("Shark");
fish.length = 200;
fish.LatinName = "Carcharodon Carcharias";
fish = new Fish("Rainbow Trout");
fish.length = 80;
fish.LatinName = "Oncorhynchus Mykiss";
//etc.
}
}
}
Maintenant, je veux en vouloir trier ce ArrayList
par une propriété par exemple le latinname
dans une autre activité. Mais je ne sais pas comment faire ça. Est-ce que quelqu'un sait comment?
Vous devez implémenter un Comparator
, par exemple:
public class FishNameComparator implements Comparator<Fish>
{
public int compare(Fish left, Fish right) {
return left.name.compareTo(right.name);
}
}
puis triez-le comme ceci:
Collections.sort(fishes, new FishNameComparator());
Vous pouvez simplement le faire par ce code:
Collections.sort(list, new Comparator<Fish>() {
public int compare(Fish o1, Fish o2) {
return o1.name.compareTo(o2.name);
}
});