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
を並べ替えたいと思います。しかし、私はそれを行う方法がわかりません。誰もが方法を知っていますか?
たとえば、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());
次のコードで簡単に実行できます。
Collections.sort(list, new Comparator<Fish>() {
public int compare(Fish o1, Fish o2) {
return o1.name.compareTo(o2.name);
}
});