• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
返回主页

wingsless

  • 博客园
  • 首页
  • 新随笔
  • 联系
  • 订阅
  • 管理

流式编程一些简单的例子

1. 进行List类型转换

我们常会遇到这样一种问题,就是遍历List,将A中的某个元素赋给B,形成一个List。传统的编码方式应该是这样的:

List<S1> s1List = Stream.of(new S1("1", "Lee"), new S1("2", "Wang")).collect(Collectors.toList());
List<S2> s2List = new ArrayList<>();
for (S1 s1 : s1List) {
    S2 s2 = new S2(s1.getId());
    s2List.add(s2);
}

System.out.println(s2List);

这样做本身没有问题,但是学会了流式编程之后,这种方法就显得不是那么优雅了,可以用流式编程来改造一下代码:

List<S1> s1List = Stream.of(new S1("1", "Lee"), new S1("2", "Wang")).collect(Collectors.toList());
List<S2> s2List = s1List.stream().map(s1 -> new S2(s1.getId())).collect(Collectors.toList());
System.out.println(s2List);

同样的逻辑,只需要一行代码就搞定了。显着那么的优雅,Java也有点Python的意思了。

posted @ 2020-11-16 21:56  wingsless  阅读(281)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3