Sim*_*mon 59 java sorting android 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.
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想要ArrayList通过属性对此进行排序,例如latinname在另一个活动中.但我不知道该怎么做.有人知道吗?
K-b*_*llo 144
你需要实现一个Comparator,例如:
public class FishNameComparator implements Comparator<Fish>
{
public int compare(Fish left, Fish right) {
return left.name.compareTo(right.name);
}
}
Run Code Online (Sandbox Code Playgroud)
然后按如下方式排序:
Collections.sort(fishes, new FishNameComparator());
Run Code Online (Sandbox Code Playgroud)
swa*_*aha 72
您可以通过以下代码执行此操作:
Collections.sort(list, new Comparator<Fish>() {
public int compare(Fish o1, Fish o2) {
return o1.name.compareTo(o2.name);
}
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
60086 次 |
| 最近记录: |