我有一个 ArrayList
对象,我想按它们的值排序。基本上我有 9 个不同的数学函数(即 f1(n) = log n
、f2(n) = n
、f3(n) = n log n
等)。我将 1 的值插入到所有 9 个函数中,并将它们的结果放在对象的 ArrayList
中,并附加了它们的标签,如下面的代码所示。我想对整个结果列表进行排序。
ArrayList<Object>val1 = new ArrayList<Object>();
val1.add("f\u2081(1) = " + log(funcValues[0]));
val1.add("f\u2082(1) = " + funcValues[0]);
val1.add("f\u2083(1) = " + exponent(funcValues[0]));
val1.add("f\u2084(1) = " + f4(funcValues[0]));
val1.add("f\u2085(1) = " + squared(funcValues[0]));
val1.add("f\u2086(1) = " + cubed(funcValues[0]));
val1.add("f\u2087(1) = " + twoN(funcValues[0]));
val1.add("f\u2088(1) = " + factorial(funcValues[0]));
val1.add("f\u2089(1) = " + f9(funcValues[0]));
基本上,无论您在哪里看到 log、funcValues、exponent、f4、squared 等,这些都是计算数学函数答案的函数。这个 ArrayList 的输出是:
f₁(1) = 0.0
f₂(1) = 1
f₃(1) = 1.0
f₄(1) = 0.0
f₅(1) = 1
f₆(1) = 1.0
f₇(1) = 2.0
f₈(1) = 1
f₉(1) = 0.0
我只想对数字进行排序。我试图这样做:
class ValuesSorted implements Comparator<Object> {
@Override
public int compare(Object v1, Object v2) {
if ()
return 0;
}
}
我被困在 if 语句上,因为我无法执行 if (v1.getValue > v2.getValue) 之类的操作,因为我正在使用 9 个不同的函数调用来提取每个值。
最佳答案
Simply try
Collections.sort(testList);
Collections.reverse(testList);
http://docs.oracle.com/javase/7/docs/api/java/util/Collections.html
关于java - 对对象 Java 的 ArrayList 进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25860866/