本文结合了Java8的一些新特性,以List的sort方法为例,做了一些写法精简的演示,本文只是抛砖引玉,希望能够给各位猿带来一些启发。
// 初始化集合
List<String> list = new ArrayList<>();
for (int i = 0; i < 49; i++) {
list.add(i + "");
}
//第一种 不嫌麻烦版
Comparator<String> comparator = new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);
}
};
list.sort(comparator);
// 第二种 匿名内部类-码农最爱版
list.sort(new Comparator<String>() {
@Override
public int compare(String o1, String o2) {
return o1.compareTo(o2);
}
});
// 第三种 lambda-懒人最爱版
list.sort((o1, o2) -> o1.compareTo(o2));
代码瞬间清爽不少有木有?省下来的时间都够打一局Dota了(向鸿洋致敬)
// 第四种 双冒号符-终极魔改版
list.sort(String::compareTo);
注意:考虑到这种写法过于凶残,所以千万不要让你的项目经理看到,他会炸了的!
(::是方法引用,有兴趣的同学点这里everything new in java8)
以上四种方法的作用相同,本文只是简单的用了String类做演示。好了机智的你快去试一试吧。