我有一个如下所示的嵌套列表(但它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编辑:感谢你的帮助,让它工作,但似乎它先把大数字和大数字放在后面,我希望能改变它,所以它从最大到最小,因为我是
你应该实现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)
请注意,这是使用泛型 - 希望您的真实代码也是如此.
| 归档时间: |
|
| 查看次数: |
1769 次 |
| 最近记录: |