0

私はJavaが初めてで、Comparatorの実装を手伝っています。次の値を持つ QualityData タイプの Arraylist があります。

**Sequence Nr**  **Súb Sequence_nr** **flag**
        100             1              True
        100             1              False
        101             1              True
        100             2              False
        100             1              False
        100             3              True

望ましい出力順序: Sequence_Nr および Sub_sequence_nr に基づく順序付け。

  **Sequence Nr**  **Súb Sequence_nr**  **flag**
         100              1               True
         100              1               False
         100              1               False
         100              2               False
         100              3               True
         101              1               True

Sequence_number、sub_sequence_number、およびブール値フラグを持つクラスがあります。

public class QualityData{
private int sequence_number;
private int sub_sequence_nr;
private boolean flag; 
//GETTER, SETTER METHODS
public static Comparator<QualityData> COMPARATOR=new Comparator<QualityData>(){
    public int compare(QualityData data1, QualityData data2){
        return int (data1.getSequence_nr()-data2.getSequence_nr());
    }
};
}

そして、次のように呼び出して並べ替えます。

List<QualityData> qData= ie.getQualityData();
Collections.sort(qData,QualityData.COMPARATOR);

ここでは、sequence_number に基づいてコンパレータを実装しましたが、sequence_number と sub_sequence_nr に基づいて実行したいと考えています。誰か助けてくれませんか?

4

2 に答える 2

0

Comparator使用中にそれを使用する必要がありますCollections.sort(collection, comparator);


こちらもご覧ください

于 2013-07-22T06:54:40.827 に答える