java - Android按属性排序arraylist

标签 java android sorting arraylist

我想按属性对 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 进行排序,例如另一个 Activity 中的 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());

关于java - Android按属性排序arraylist,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10853205/

相关文章:

java - 2个相互依赖的java类如何编译?

java - 如何使用 java 从 &lt;iframe&gt; 获取 src/url

Java正则表达式排除文件路径中的点

python - 什么时候会使用递归合并排序而不是迭代?

linux - 如何根据第一列值对齐 3 个文件

java - onItemSelectedListener 不使用数据库中的长字符串数组触发

android - 如何更改 alertdialog 上的文本引力

java - 在 Android 中使用蓝牙在 2 个设备之间发送数据

java - 如何知道在哪个项目中单击了按钮

php - 简单的日期明智排序数组不起作用