List Java的前k个结果

时间:2018-12-12 01:15:11

标签: java heapsort

我正在使用堆排序算法对对象列表进行排序,并且工作正常。问题是,当我尝试使用以下代码获取列表的前k个结果时:

HeapSort.sort(songs);
List<Song> highk = songs.subList(songs.size() - k, songs.size());
System.out.println(highk);

这将打印列表的最后k个元素。 k很好,因为即使用数字更改它,我也有同样的问题。

1 个答案:

答案 0 :(得分:0)

如果要使用前k个元素,则方法调用应如下所示:

List<Song> highk = songs.subList(0, k);

当您看到subList方法的java doc注释时,便清楚地表明,第一个参数是fromIndex,第二个参数是toIndex(here)。