67

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しかし、私はそれを行う方法がわかりません。誰も方法を知っていますか?

4

4 に答える 4

157

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());
于 2012-06-01T15:34:32.117 に答える
0

同じ目標を達成する方法は複数あります。最も簡単な解決策は、Java 8 の機能を利用することです。

Collections.sort(Fish, (t1, t2) -> t1.name().compareTo(t2.name()));
于 2021-03-30T19:45:53.450 に答える