Androidは基本データを複雑なデータに並べ替えます

680 ワード

一、複雑なデータの並べ替え
Mapのソート
使用するクラスCollectionsとComparator
手順:
1、統合Comparatorクラスのサブクラスを作成する
//** * * @param lhs : * @param rhs : * @return > 0 */
@Override
public int compare(Object lhs, Object rhs) {
Camera.Size size1 = (Camera.Size)lhs;
Camera.Size size2 = (Camera.Size)rhs;
if(size1.width > size2.width)
return -1;
else
return 1;
}

使い方のまとめ
sort()が2つのオブジェクトを判断する順序でcompareTo()とcompare()メソッドを実現すると,昇順の結果となる.もし私たちが反対に来たらrhsを使います.val-lhs.valで得られた値は正しい2つの値の大きさとは逆であり、sort()は自分が考えている昇順で前後を確定することを知らず、小さいのは前で、大きいのは後である.実際の状況が大きくなる前に、小さくなる後に、結果は降順配列になります