加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 将for循环转换为一个lambda表达式的concat String

发布时间:2020-12-14 05:15:39 所属栏目:Java 来源:网络整理
导读:我有以下for循环遍历一个字符串列表,并将每个单词的第一个字符存储在StringBuilder中.我想知道如何将其转换为lambda表达式 StringBuilder chars = new StringBuilder();for (String l : list) { chars.append(l.charAt(0));} 解决方法 假设您在StringBuilder
我有以下for循环遍历一个字符串列表,并将每个单词的第一个字符存储在StringBuilder中.我想知道如何将其转换为lambda表达式
StringBuilder chars = new StringBuilder();
for (String l : list) {
    chars.append(l.charAt(0));
}

解决方法

假设您在StringBuilder之后调用toString(),我认为您只是在将每个字符串映射到单字符子字符串之后寻找 Collectors.joining()
String result = list
    .stream()
    .map(s -> s.substring(0,1))
    .collect(Collectors.joining());

示例代码:

import java.util.*;
import java.util.stream.*;

public class Test {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("foo");
        list.add("bar");
        list.add("baz");
        String result = list
            .stream()
            .map(s -> s.substring(0,1))
            .collect(Collectors.joining());
        System.out.println(result); // fbb
    }
}

注意使用子字符串而不是charAt,所以我们仍然有一串字符串来处理.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读