JavaでArrayListをソートする方法
Fruitという名前のクラスがあります。このクラスのリストを作成し、各果物をリストに追加しています。このリストを果物の名前の順番に基づいてソートしたいと思います。
public class Fruit{
private String fruitName;
private String fruitDesc;
private int quantity;
public String getFruitName() {
return fruitName;
}
public void setFruitName(String fruitName) {
this.fruitName = fruitName;
}
public String getFruitDesc() {
return fruitDesc;
}
public void setFruitDesc(String fruitDesc) {
this.fruitDesc = fruitDesc;
}
public int getQuantity() {
return quantity;
}
public void setQuantity(int quantity) {
this.quantity = quantity;
}
}
で、forループを使ってそのリストを作成しています。
List<Fruit> fruits= new ArrayList<Fruit>();
Fruit fruit;
for(int i=0;i<100;i++)
{
fruit = new fruit();
fruit.setname(...);
fruits.add(fruit);
}
そして、このarrayListをリスト内の各オブジェクトのフルーツ名を使ってソートする必要があります。
どうやって?
216
3
以下のような
Comparator
を使用します。これで、果物リストは
fruitName
に基づいてソートされます。FruitのComparableインターフェースを実装します。
メソッドを実装しています。
メソッドを実装している場合は、sortメソッドを呼び出します。
Apache CommonsのBeanComparatorをお試しください。