我的问题与下面的问题相同,但答案非常模糊,我不明白如何处理它。 sort a List<Tuple> from highest to lowest 如果你可以更详细地描述如何做到这一点,将不胜感激。由于根据其中一个字段对元组进行排序
5
A
回答
7
尝试运行这个例子,我为你做的,并认为这是怎么回事:
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Tuple<R, S, T>
{
private R name;
private S data;
private T index;
public Tuple(R r, S s, T t)
{
this.name = r;
this.data = s;
this.index = t;
}
public static void main(String[] args)
{
List<Tuple<String, int[], Integer>> tuples = new ArrayList<Tuple<String, int[], Integer>>();
// insert elements in no special order
tuples.add(new Tuple<String, int[], Integer>("Joe", new int[] { 1 }, 2));
tuples.add(new Tuple<String, int[], Integer>("May", new int[] { 1 }, 1));
tuples.add(new Tuple<String, int[], Integer>("Phil", new int[] { 1 }, 3));
Comparator<Tuple<String, int[], Integer>> comparator = new Comparator<Tuple<String, int[], Integer>>()
{
public int compare(Tuple<String, int[], Integer> tupleA,
Tuple<String, int[], Integer> tupleB)
{
return tupleA.getIndex().compareTo(tupleB.getIndex());
}
};
Collections.sort(tuples, comparator);
for (Tuple<String, int[], Integer> tuple : tuples)
{
System.out.println(tuple.getName() + " -> " + tuple.getIndex());
}
}
public R getName()
{
return name;
}
public void setName(R name)
{
this.name = name;
}
public S getData()
{
return data;
}
public void setData(S data)
{
this.data = data;
}
public T getIndex()
{
return index;
}
public void setIndex(T index)
{
this.index = index;
}
}
+0
谢谢,这非常有帮助 – hypereact 2011-04-17 10:04:44
0
一般的答案是什么都没有比那里给出了答案。要对列表进行排序,您需要让您的列表元素具有规范的排序(即实现Comparable接口),或者让比较器对排序算法进行比较。然后你可以使用Collections.sort
来做实际的工作。
相关问题
- 1. 根据数组的第一个元素对double [,]进行排序
- 2. MySQL根据排序字段值对父/子进行排序
- 3. 如何根据另一个数组对数组进行排序?
- 4. 根据另一个数组对数组进行排序,swift
- 5. 根据字段按字母顺序对散列进行排序
- 6. 如何根据其中一列对行进行排序?
- 7. 我如何根据其中的一部分对整个元素进行排序?
- 8. 我如何根据其中的一个内容对数组进行排序
- 9. 根据SSJS中的日期字段对NotesDocumentCollection进行排序
- 10. 如何根据mysql中的特定字段对组数据进行排序?
- 11. 根据特定字段对对象ArrayList进行排序
- 12. 根据字段对Json数据进行排序
- 13. SQL如何根据“订单”字段对子行进行排序?
- 14. PHP - 根据另一个阵列对数组进行排序
- 15. 根据C中的4个索引的元组对数组进行排序
- 16. 根据其初始键对PHP数组进行排序?
- 17. 根据Maximo Anywhere中的多个字段进行排序
- 18. 根据要排序的数组中提供的值对2D数组的第一个元素进行排序
- 19. 根据其字段中的1对对象列表排序
- 20. Scala根据属性对元组列表进行排序
- 21. 如何根据元素的值对数组进行排序?
- 22. 如何根据其中之一的顺序对两个列表进行排序?
- 23. 无法根据嵌套字段对clojure进行排序
- 24. 如何根据日期字段对所有列进行排序
- 25. 根据字段值对Elasticsearch结果进行排序
- 26. 根据python中元组的第一个元素的长度对元组列表进行排序
- 27. 首先根据另一个数组对数组中的值进行排序
- 28. awk对两个字段进行排序:
- 29. 按对象中数字字段对数组进行排序
- 30. 如何对DataTable进行分组并按字段对每个组进行排序?
请发布您的代码,以及什么不工作/你无法弄清楚。 – Mat 2011-04-17 00:10:24