java - 使用 Java 8 转换字符串中 List<MutablePair> 的迭代

标签 java java-8 java-stream

如何使用 Java 8 获取 MutablePair 列表的左侧部分 - 流、forEach 或其他?我要转换为 Java 8 类型的代码是:

for (MutablePair<String, Long> id: list) {
   if (null == value) {
      value = id.getLeft();
   } else {
      value += ", " + id.getLeft();
   }
}

所以,如果我有如下列表:[(OA,3853), (EE,866), (UN,728), (PP,10)],我需要的值为: OA, EE, UN, PP 越简单越好。非常感谢。

最佳答案

使用map转换为 Stream<String> 的中间操作然后是 joining收集器将元素累积到一个由 ", " 分隔的字符串中分隔符:

list.stream()
    .map(pair -> pair.getLeft()) // or MutablePair::getLeft
    .collect(Collectors.joining(", "));

关于java - 使用 Java 8 转换字符串中 List<MutablePair> 的迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58292974/

相关文章:

java - Drools:在运行时添加和删除规则

java - 用于纯服务器端 war-packaged Java EE 6 应用程序的 Maven 原型(prototype)?

java - 任务执行器与 Java 8 并行流

java - 解析所有 ISO 8601 DateTime 格式 Java 1.8

java - 在流过滤器中对流使用 Java 过滤器

Java 8 Streams 按大于最旧元素的平均值进行过滤

java - 为什么 Tomcat 总是返回 "text/html;"?

java.io.NotSerializedException

java - 如何将 map 转换为大名单?

java - 流 : how map in Streams work