我如何创建一个比较器,以便能够通过浮点参数对数组列表进行排序?
假设我有一个对象数组列表,其中包含如下内容:
ID=7 TFIDF=0.12654299 PR=25238.0
ID=4 TFIDF=0.12654299 PR=3638.0
ID=4 TFIDF=0.12654299 PR=3638.0
ID=4 TFIDF=0.12654299 PR=3638.0
ID=3 TFIDF=0.56442446 PR=14558.0
ID=1 TFIDF=0.0083091585 PR=3953.0
我想按 TFIDF 值对数组进行排序。据我所知,我只能按整数对它们进行排序。因此,我比较零。
到目前为止我有这个:
Collections.sort(Contents_To_Show, new Comparator<ContentToShow>() {
public int compare(ContentToShow o1, ContentToShow o2) {
return (int) (o1.GetPR() - o2.GetPR());
}
});
但是。同样,它只比较整数部分。我如何比较整个值?
请帮忙。
谢谢
最佳答案
跟进佩德罗的跟进。如果要按 TFIDF 排序,则按 PR,
int result = Float.compare(o1.getTFIDF(), o2.getTFIDF());
if (result == 0)
result = Float.compare(o1.getPR(), o2.getPR());
return result;
关于java - 用于按浮点参数对对象数组列表进行排序的比较器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18563182/