Open echohlne opened 4 years ago
作者这个写法雀实迷惑……而且上面的排序现在java8也会报错 sublist好像只是截取一个视图,没有释放其余不要的词的空间吧,还是新开一个list,把top的add进去好一点? 不过这东西五年了()估摸也没人看
keywordList.sort(Keyword::compareTo);
List<Keyword> res=new ArrayList<>();
topN=Math.min(topN,keywordList.size());
for (int i = 0; i < topN; i++) {
res.add(keywordList.get(i));
}
@Override
public int compareTo(Keyword o){
return Double.compare(o.tfidfvalue,this.tfidfvalue);
}
topN取词时,之前的方法是遍历循环,每次都删除索引为topN的对象, 如果数据量大删除时会导致底层数据的多次移动