爪哇。拆分 List 的每个元素的最佳方法

Nik*_*lay 0 java java-stream

如何使用流优化它?

    List<String> prepared = new ArrayList<>();
    availableFieldsFromImage.forEach(field -> {
        if(field.contains(".")){
            prepared.add(field.split("\\.")[0]);
        } else {
            prepared.add(field);
        }
    });
Run Code Online (Sandbox Code Playgroud)

Ale*_*lex 7

split如果未找到分隔符,则返回初始字符串,因此无需测试“.”。在执行拆分之前:

List<String> prepared = availableFieldsFromImage.stream()
                        .map(field -> field.split("\\.")[0])
                        .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)