max-Timi 2022-03-22 11:21 采纳率: 42.9%
浏览 459
已结题

List<List<String>>关于嵌套list的stream流的处理


ArrayList<String> oldList = Lists.newArrayList();
        oldList.add("备用1");
        oldList.add("备用2");
        oldList.add("备用3");
        oldList.add("备用4");
        oldList.add("备用5");
        List<List<String>>  ccc =new ArrayList<>();
        ccc.add(oldList);

如何使用stream将"备用3"换成其他元素。
我之前的写法如下,请问这种写法问题是出在哪里:

ccc.stream().forEach(t->{
            t.stream().map(k->{
                if ("备用5".equals(k)) {
                    k = "sss";
                }
                return k;
            }).collect(Collectors.toList());
        });

  • 写回答

2条回答 默认 最新

  • bekote 2022-03-22 11:42
    关注
    
    ccc = ccc.stream().map(t->{
                return
                t.stream().map(k->{
                    if ("备用5".equals(k)) {
                        k = "sss";
                    }
                    return k;
                }).collect(Collectors.toList());
            }).collect(Collectors.toList());
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • JonathanYTR 2022-03-22 11:39
    关注

    问题是这样替换的是“备用5”不是“备用3” 2333333。而且foreach里调用collect是根据原list生成了新的list,并没有改变原来的list

    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 4月23日
  • 已采纳回答 4月15日
  • 创建了问题 3月22日

悬赏问题

  • ¥15 gitee无效的源路径/URL
  • ¥15 问题描述:给定一个算术表达式,通过程序求出最后的结果
  • ¥15 spyder运行重复
  • ¥15 我用C语言easyx图形库绘制了一个3d游戏方框透视,但进入游戏时候鼠标准星对准方框边缘 鼠标光标就会弹出来这是啥情况怎样让光标对准绘制的方框点击鼠标不弹出光标好烦这样
  • ¥20 用Power Query整合的问题
  • ¥20 基于python进行多背包问题的多值编码
  • ¥15 相同型号电脑与配置,发现主板有一台貌似缺少了好多元器件似的,会影响稳定性和使用寿命吗?
  • ¥15 C语言:数据子序列基础版
  • ¥20 powerbulider 导入excel文件,显示不完整
  • ¥15 paddle训练自己的数据loss降不下去