我有以下简单的类,包含一个 String 和一个 Int。
private static class SuggestionAndScore
{
private String suggestion;
private int score;
}
我将拥有这些对象的列表,其中可能包含多达 500,000 项。 根据分数值对其进行排序的最佳方法是什么?我应该让该类实现 Comparator 并在其上使用 Collections.sort 还是有更好的方法? 性能至关重要,因此我提出这个问题,因为我想确保获得最佳解决方案。
最佳答案
需要了解排序方法会将整个集合加载到内存中,因此如果您的 SuggestionAndScore 对象很大(可能是因为建议字符串很大),您将消耗大量内存,甚至可能导致系统崩溃。如果您认为内存可能是一个问题,那么请使用就地排序。如果内存不是问题,那么使用 TreeSet。
关于java - 对大量对象进行排序的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13510987/