【发布时间】:2021-09-30 08:39:37
【问题描述】:
我有一组字符串:
Set<String> mySet = new HashSet<String>();
hs.add("how");
hs.add("are");
hs.add("you");
我想把这个集合变成一个字符串,但是有两个规则:
- ":*" 应添加为每个单词的后缀
- 单词应该用竖线分隔|
像这样:
"how:*|are:*|you:*"
最简单的方法是什么?
这是我迄今为止尝试过的:
StringBuilder sb = new StringBuilder();
for (String word : search) {
sb.append(word);
sb.append(":*|");
}
这样做的问题是它最后给出了一个额外的管道:
"how:*|are:*|you:*|"
我当然可以删除最后一个字符,但如果可能的话,我正在寻找一种更简单的方法。
【问题讨论】:
-
到目前为止你尝试过什么方法?请给我看看好吗?
-
你有没有尝试过?既然你标记了
StringBuilder,看来你已经有了一个想法? -
流,映射 x -> x +
":*",收集加入'|' -
@deHaar 我已经更新了帖子。
-
具体来说,流解决方案适用于所有集合 - 例如带有
Collector.joining,允许指定分隔符、前缀和后缀。
标签: java string set stringbuilder