编辑: 这实际上是关于leetcode的问题。因此,基准测试是由leetcode执行的。
在程序的某处,我必须对Map.Entry<Character, Integer>
的列表进行排序。最初,我使用传统方式覆盖Comparator进行排序。然后,我还尝试了另一种使用lambda表达式的方法。
但是,使用lambda表达式的性能比原始方法差很多(4x ms和1x ms)。两个程序中的所有代码都相同。唯一的不同是这一行。
原始代码:
list.sort(new Comparator<Map.Entry<Character,Integer>>()
{
@Override
public int compare(Map.Entry<Character,Integer> o1, Map.Entry<Character,Integer> o2) {
return o2.getValue().compareTo(o1.getValue());
}
});
新代码:
list.sort((o1, o2) -> o2.getValue().compareTo(o1.getValue()));