对Arraylist进行排序,其中包含3个相互链接的列表

时间:2016-05-16 09:23:20

标签: java list sorting arraylist

我有一个包含3个列表的ArrayList。第一个包含String,secound整数和thrid float。 每个列表的第一个值彼此相关,有关等等。

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);

现在我想对双列表进行排序(按升序或降序排序),当然其他两个列表中的值应该随着第三个列表的排序而改变。

我该怎么做?也许我的构造(包含三个列表的Arraylist)不是最好的方法。我也经常为其他apparoaches;)

3 个答案:

答案 0 :(得分:0)

当列表重新排序时,您需要一个总体数据结构来保持内聚。

我个人会将它们移到Apache Triple列表中,然后你可以定义一个比较器或类似的。

答案 1 :(得分:0)

类似的问题在某个时候已经解决了。

请检查此链接。 Sort several 'linked' Lists

如果这有助于你,请告诉我。

答案 2 :(得分: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;
    }
}