包含列表索引值列表的Java排序列表?

Ric*_*ick 3 java sorting list

我有一个如下所示的嵌套列表(但它holder在一个主列表中有1,000个列表).假设我需要按索引上listEmailData每个列表的值对主列表进行排序.我似乎无法弄清楚如何做任何建议表示赞赏.holderholder.get(2)

ArrayList listEmailData;

ArrayList holder = new ArrayList();

listEmailData.add(3)
listEmailData.add(323)
listEmailData.add(2342)

listEmailData.add(holder)
Run Code Online (Sandbox Code Playgroud)

编辑:为了澄清,我有一个列表,其中每个列表条目包含一个子列表,在此子列表中,特定索引包含一个排名的值.我需要根据每个子列表中的这个排名值对主列表进行排序.

2ND编辑:感谢你的帮助,让它工作,但似乎它先把大数字和大数字放在后面,我希望能改变它,所以它从最大到最小,因为我是

Jon*_*eet 6

你应该实现Comparator<T>比较列表,然后调用

Collections.sort(listEmailData, comparator);
Run Code Online (Sandbox Code Playgroud)

您的比较器必须比较任何两个"子列表" - 例如通过获取特定值.例如:

public class ListComparator implements Comparator<List<Integer>>
{
    private final int indexToCompare;

    public ListComparator(int indexToCompare)
    {
        this.indexToCompare = indexToCompare;
    }

    public int compare(List<Integer> first, List<Integer> second)
    {
        // TODO: null checking
        Integer firstValue = first.get(indexToCompare);
        Integer secondValue = second.get(indexToCompare);
        return firstValue.compareTo(secondValue);
    }
}
Run Code Online (Sandbox Code Playgroud)

请注意,这是使用泛型 - 希望您的真实代码也是如此.