gpt4 book ai didi

java - 更高效的 compareTo 算法?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:25:27 26 4
gpt4 key购买 nike

我正在使用 Collections.sort 对对象的 ArrayList 进行排序,我想看看是否有更有效的 compareTo 方法来完成我正在尝试做的事情。

方法如下:

@Override
public int compareTo(Song s) {
if (runningTime > s.runningTime) {
return -1;
} else if (runningTime < s.runningTime) {
return 1;
}
int lastCmp = title.compareTo(s.title);
return (lastCmp != 0 ? lastCmp : composer.compareTo(s.composer));
}

如果有人能提出更有效的方法(即运行时间更快),我将不胜感激。

最佳答案

正如MeBigFatGuy所说,任何改进都是微不足道的,但我认为您仍然可以稍微清理一下代码以减少不必要的if-else条件。我的两分钱。

public int compareTo(Song s) {
if (runningTime != s.runningTime) {
return s.runningTime - runningTime;
}
else {
int lastCmp = title.compareTo(s.title);
return (lastCmp != 0 ? lastCmp : composer.compareTo(s.composer));
}
}

关于java - 更高效的 compareTo 算法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6165796/

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