You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java拆分字符串提取唯一元素生成列表 含Java8 Stream实现方案

实现方案

Java 8 完全可以通过Stream流实现该需求,代码简洁连贯,不需要手动写遍历逻辑。

核心实现代码

原始集合定义

List<String> words = new ArrayList<>();
words.add("hello, hi, henry");
words.add("hello1, hi1, henry1");
words.add("hello, hi, henry");

Stream流处理代码

import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

// 处理逻辑
List<String> uniqueResult = words.stream()
    .map(item -> item.split(",")) // 按逗号拆分每个字符串为数组
    .flatMap(Arrays::stream) // 将所有数组合并为一个字符串流
    .map(String::trim) // 去除拆分后字符串的前后空格
    .distinct() // 自动去重
    .collect(Collectors.toList());

逻辑说明

  • flatMap 用来把拆分后产生的多个字符串数组合并为单一的流,避免产生嵌套的集合结构
  • 增加trim处理是因为原字符串逗号后存在空格,拆分后需要去除多余空格才能匹配预期输出
  • distinct方法基于字符串的equals方法判断重复,刚好满足唯一元素的需求
  • 最终输出的uniqueResult内容完全符合预期:hello、hi、henry、hello1、hi1、henry1

内容的提问来源于stack exchange,提问作者user3376592

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 18:24:03