gpt4 book ai didi

java - 对对象 Java 的 ArrayList 进行排序

转载 作者:搜寻专家 更新时间:2023-11-01 03:04:56 25 4
gpt4 key购买 nike

我有一个 ArrayList 对象,我想按它们的值排序。基本上我有 9 个不同的数学函数(即 f1(n) = log nf2(n) = nf3(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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com