首页 > 解决方案 > 使用分隔符改变列表

问题描述

我有一个ArrayList遵循这种形式的{ a/b/c ; d/e/f ; ...},我想改变它并以这种形式拥有它{ a ; b ; c ; d ; e ; ...}。我的意思是我知道我可以创建两个函数,一个负责删除/角色,另一个负责其余部分。但我真的很好奇我是否可以使用一些内置函数来帮助我快速完成这项工作。

好的,这是一个尝试:

List<String> purgedList = new ArrayList<>();
        for (String s : listFromFile) {
            purgedList.addAll(Arrays.asList(s.split("/")));
        }

标签: javaarraylistdelimiter

解决方案


试试这个。

public static void main(String[] args) {
    List<String> input = List.of("a/b/c", "d/e/f", "g");

    List<String> output = input.stream()
        .flatMap(s -> Arrays.stream(s.split("/")))
        .collect(Collectors.toList());

    System.out.println(output);
}

请参阅在 IdeOne.com 上实时运行的代码

[a, b, c, d, e, f, g]

推荐阅读