2012-04-27 22 views
0

私は以下のように 'code'フィールドに基づいてArraylistを並べ替えたいと思います。私は現在のarraylistに同じコードの合計価格で値を追加したいと思います。arraylistの並べ替えとカテゴリ化

No  Desc Width  Height  Code  Price 

1  WW  88.0  88.0  1021021  340.0  
4  TT  55.0  55.0  1021021  340.0  
5  PP  66.0  66.0  1021021  340.0 
2  gg  66.0  66.0  1021022  320.0  
3  LL  658.0  652.0  1021022  320.0 

私の予想される出力は、この問題を解決するための最善の方法を提案することができ、この

1  WW  88.0  88.0  1021021  340.0  
4  TT  55.0  55.0  1021021  340.0  
5  PP  66.0  66.0  1021021  340.0 
                1020 
2  gg  66.0  66.0  1021022  320.0  
3  LL  658.0  652.0  1021022  320.0 
                640 

いずれかのようになります?。ありがとうございます。

+1

あなたは、データのあなたの「行」を表現するクラスを持っていますか? –

答えて

5

javaを使用する場合は、Comparatorを書き込み、ArrayListとコンパレータをCollections.sort() methodに渡すことができます。

オブジェクトのコレクションに全体順序付けを強制比較関数、:のJavadocから

。並べ替え順序を正確に制御できるように、コンパレータをソート方法(Collections.sortまたはArrays.sortなど)に渡すことができます。コンパレータは、特定のデータ構造(ソートされたセットやソートされたマップなど)の順序を制御したり、自然順序付けをしていないオブジェクトのコレクションの順序を指定するためにも使用できます。

0

Comparatorの例を提供します。

import java.util.Comparator; 

public class CodeComparator implements Comparator<Item> { 

    @Override 
    public int compare(Item arg0, Item arg1) { 
     return arg0.getCode().compareTo(arg1.getCode()); 
    } 

} 

そしてであなたの配列をソート:

Collections.sort(itemList, new CodeComparator()); 
関連する問題