昇順で並べ替えたいのですList<Size> list1
が。
試しましたが、うまくいかないようです。
リストを並べ替える最良の方法は何ですか?ありがとう。parameters.getSupportedPreviewSizes()
(width * height)
Collection.sort
2218 次
2 に答える
9
カスタムを使用しますComparator
。
A
Comparator
は、2つのオブジェクトを比較して、互いの順序を決定するために使用されます。与えられたCollection
上で、aを使用して、完全に順序付けられComparator
たソートを取得できCollection
ます。
final Camera camera = ...;
final List<Camera.Size> sizes = camera.getParameters().getSupportedPreviewSizes();
Collections.sort(sizes, new Comparator<Camera.Size>() {
public int compare(final Camera.Size a, final Camera.Size b) {
return a.width * a.height - b.width * b.height;
}
});
于 2012-09-18T04:09:45.913 に答える
1
Comparable
オブジェクトが他のオブジェクトに対してどのように評価されるかを指定するためのインターフェースを実装してからCollections.sort()
、メソッドを使用して目的の順序でソートする必要があります。
class Size implements Comparable<Size>{
Integer width;
Integer height;
public Integer getArea(){
return width*height;
}
@Override
public int compareTo(Size o) {
return getArea().compareTo(o.getArea());
}
}
于 2012-09-18T04:07:34.220 に答える