开发者社区 问答 正文

拆分字符串列表并将单词添加到新列表中

我对以下代码真的不满意,但我不知道如何以更有效的方式实现它。

 List<String> words = new ArrayList<String>();
    for (String line : newList) {
        String[] lineArray = line.split(" ");
        for (String l : lineArray) {
            words.add(l);
        }
    }

问题来源:Stack Overflow

展开
收起
montos 2020-03-25 20:55:00 453 分享 版权
1 条回答
写回答
取消 提交回答
  • 优雅的方法如下:

    import java.util.Arrays;
    import java.util.List;
    import java.util.stream.Collectors;
    
    public class Main {
        public static void main(String[] argv) throws Exception {
            List<String> newList = List.of("Amitabh Bachchan", "James Bond", "Kishore Kumar", "Arvind Kumar Avinash");
            List<String> words = newList.stream().flatMap(s -> Arrays.stream(s.split(" "))).collect(Collectors.toList());
            System.out.println(words);
        }
    }
    

    输出

    [Amitabh, Bachchan, James, Bond, Kishore, Kumar, Arvind, Kumar, Avinash]
    

    回答来源:Stack Overflow

    2020-03-25 20:55:41
    赞同 展开评论
问答地址: