在 Java 8 中使用 Lambda 对 ArrayList 进行排序

新手上路,请多包涵

有人可以给我一个简单的例子,说明如何使用新的 lambda 语法在 Java 8 中按字母顺序对 ArrayList 进行排序。

原文由 Jeef 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 605
2 个回答

对于字符串,这会起作用

arrayList.sort((p1, p2) -> p1.compareTo(p2));

原文由 poosliver 发布,翻译遵循 CC BY-SA 3.0 许可协议

你只是在排序 String s?如果是这样,您就不需要 lambda;毫无意义。你只要做

import static java.util.Comparator.*;

list.sort(naturalOrder());

…虽然如果您使用 String 字段对对象进行排序,那么它更有意义:

 list.sort(comparing(Foo::getString));

原文由 Louis Wasserman 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题