最近遇到需要使用list中sort排序功能,list中存的是自己写的类,所以需要重写sort函数,一般实现如下:
Collections.sort(voList, new Comparator<Subnet>() {
@Override
public int compare(Subnet o1, Subnet o2) {
return o1.getName().compareTo(o2.getName());
}
});
但是idea提示可以使用lambda表达式来简化这种重写,于是使用idea的提示,简化后如下:
Collections.sort(voList, (o1, o2) -> o1.getName().compareTo(o2.getName()));
本来以为这样简化就完了,后面发现idea提示还可以接着简化,所以最终简化版本如下:
Collections.sort(voList, Comparator.comparing(Subnet::getName));
不得不说,idea真好用。