Java 8 : Multiple conditions in map function of stream

标签 java java-8 java-stream

如何在流的映射函数中使用多个条件?我是 Java 流的新手,实际上我想在流映射中使用多个条件,例如:

List<String> cs = Arrays.asList("agent", "manager", "admin");

List<String> replace = cs.stream()
.map(p -> p.equals("agent") ? "manager" : p || p.equals("manager") ? "agent" : p )
.collect(Collectors.toList());

我想要的是用 manager 替换 agent,用 agent 替换 manager。那就是如果在列表中存在代理,则将其替换为经理,如果存在经理,则将其替换为代理。

最佳答案

你可以这样做,

List<String> interchanged = cs.stream()
    .map(s -> s.equals("manager") ? "agent" : s.equals("agent") ? "manager" : s)
    .collect(Collectors.toList());

关于Java 8 : Multiple conditions in map function of stream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53081393/

相关文章:

java - 在 Python 2.7 中复制 Java 的 PBEWithMD5AndDES

Java:获取 lambda 的泛型类型

java - 使用 forEach 遍历 varArgs

java - 在 Java 中用整数填充任意集合

java - 当表在 mysql 中更新时,如何在 spring boot 中调用方法

open-source - 开源 Java 的状态如何?

java - 使用插入排序修改快速排序

java - 解析 ISO_INSTANT 和类似的日期时间字符串

Java流匹配尽可能多的谓词

java - 按值集的大小对 HashMap 进行排序