Java如何使用内置方法将含/分隔元素的ArrayList展开为单层列表
Java 拆分ArrayList内字符串并扁平化的内置实现方案
你可以直接使用JDK 8及以上版本内置的Stream API实现更简洁的写法,逻辑和你当前的循环实现完全等价,不需要引入第三方工具:
// JDK 16及以上版本可直接使用toList() List<String> purgedList = listFromFile.stream() .map(str -> str.split("/")) .flatMap(Arrays::stream) .toList(); // JDK 8 - JDK 15版本替换为collect收集 import java.util.stream.Collectors; List<String> purgedList = listFromFile.stream() .map(str -> str.split("/")) .flatMap(Arrays::stream) .collect(Collectors.toList());
如果需要过滤拆分后产生的空字符串(比如原字符串存在连续/、首尾带/的场景),可以补充过滤逻辑:
List<String> purgedList = listFromFile.stream() .map(str -> str.split("/")) .flatMap(Arrays::stream) .filter(str -> !str.isBlank()) .toList();
内容的提问来源于stack exchange,提问作者legenw84it
相关产品推荐
相关产品推荐

