【发布时间】:2021-12-31 02:02:55
【问题描述】:
我有一个 HashMultimap
Multimap<String, String> map = HashMultimap.create();
我放入地图的数据是
map.put("cpu", "i9");
map.put("hang", "MSI");
map.put("hang", "DELL");
map.put("hang", "DELL");
map.put("cpu", "i5");
map.put("hang", "HP");
map.put("cpu", "i7");
我有一个流
String joinString = map.entries().stream().map(e -> e.getKey() + "=" + e.getValue()).collect(Collectors.joining(" OR "));
我需要输出是
(hang=HP OR hang=MSI OR hang=DELL) AND (cpu=i9 OR cpu=i5 OR cpu=i7)
我需要一个AND 在键之间。我该怎么做?
【问题讨论】:
-
"非常感谢您的指示" - 这是我的指示。 1) 阅读
Joiner类的 javadoc。 2)如果你不知道如何用流来做到这一点,请改用经典的Java;例如一个循环,StringBuilder.append等等。 3) 请不要将 StackOverflow 视为免费的代码编写服务。向我们展示您解决问题的(真正)尝试。
标签: java java-stream guava multimap