2016-05-16 9 views
0

私は3つのリストを含むArrayListを持っています。最初の文字列は、String、secound整数、thrid floatを含みます。 各リストの最初の値はお互いに関連しています。互いに関連付けられた3つのリストを含むArraylistを並べ替えます。

List<List> calculation = new ArrayList<List>(); 
ArrayList<String>candidate = new ArrayList<String>(); 
ArrayList<Integer> frequency = new ArrayList<Integer>(); 
ArrayList<Float> score = new ArrayList<Float>(); 
calculation.add(candidate); 
calculation.add(frequency); 
calculation.add(score); 

今私は(昇順または降順に)二重のリストをソートしたいと思います。もちろん、他の二つのリストの値は、3番目のリストの並べ替えと変更する必要があります。

どうすればいいですか?たぶん私の構成(3つのリストを含むArraylist)は最良の方法ではありません。 )多くの場合、他のアタッチにも対応しています;

+4

候補、頻度、スコアを含むクラスを作成し、そのクラスの単一のArrayListをソートするのはなぜですか? – Eran

+0

あなたはネストされたforループの中で並べ替えを行うときに、スコアだけでなく、すべてのものをソートすることができます。必要ならば、あなたの中のものだけでなく、他の配列の値をスワップすることもできますあなたはより詳細な答え –

+0

私はすでにこれについて考えていましたが、私はいくつかの既存のソート機能を使用したいと思います;)私はあなたの提案で、私は自分のソート方法を書くか、 – Tobi123

答えて

0

似たような疑問がすでに解決されました。

このリンクを確認してください。 Sort several 'linked' Lists

これがあなたを助けたかどうか教えてください。

0

リストが並び替えられたときに結束を維持するには、全体的なデータ構造が必要です。

個人的に私はそれらをApache Tripleのリストに移動して、コンパレータなどを定義することができます。

0

私は余分なクラスで方法を選択します。うまく動作します、おかげでみんな!

public class Result { 

    String candidate; 
    int frequency; 
    double score; 

    public Result (String candidate, int frequency, double score){ 
     this.candidate=candidate; 
     this.frequency=frequency; 
     this.score=score; 
    } 
} 
関連する問題