Андроид сортировки Android по свойствам
Я хочу сортировать ArrayList
по свойству. Это мой код...
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.
}
}
}
Теперь я хочу, чтобы отсортировать этот ArrayList
с помощью свойства, например, latinname
в другом действии. Но я не знаю, как это сделать. Кто-нибудь знает, как?
Ответы
Ответ 1
Вам нужно реализовать Comparator
, например:
public class FishNameComparator implements Comparator<Fish>
{
public int compare(Fish left, Fish right) {
return left.name.compareTo(right.name);
}
}
а затем выполните сортировку следующим образом:
Collections.sort(fishes, new FishNameComparator());
Ответ 2
Вы можете просто сделать это следующим образом:
Collections.sort(list, new Comparator<Fish>() {
public int compare(Fish o1, Fish o2) {
return o1.name.compareTo(o2.name);
}
});