当前位置: 首页 > 面试题库 >

将Set `

吉嘉珍
2023-03-14
问题内容

我有几个Set<String>s,并且想要将它们中的每一个转换成单个String,其中原始元素的每个元素Set都由空格“”分隔。天真的第一方法就是这样做

Set<String> set_1;
Set<String> set_2;

StringBuilder builder = new StringBuilder();
for (String str : set_1) {
  builder.append(str).append(" ");
}

this.string_1 = builder.toString();

builder = new StringBuilder();
for (String str : set_2) {
  builder.append(str).append(" ");
}

this.string_2 = builder.toString();

谁能想到更快,更漂亮或更有效的方式来做到这一点?


问题答案:

更新:

重新阅读此答案,我现在希望使用有关番石榴木匠的其他答案。实际上,这些天我不接近apache commons。

另一个更新:

Java 8引入的方法 String.join()

String joined = String.join(",", set);

尽管它不像Guava版本那样灵活,但是当您的类路径中没有Guava库时,它很方便。



 类似资料:
  • 问题内容: 我在android环境中工作,并尝试了以下代码,但似乎无法正常工作。 如果我定义如下: 有用。有什么我想念的吗? 问题答案: 这样使用。

  • 我想知道如何在springReactor中转换通量

  • 产生以下输出: 然而,据我所知,Java不支持操作符重载,官方文档对此只字不提,这就是我的问题。

  • 问题内容: 如何将无序列表居中放置为固定宽度? 问题答案: 要使ul 居中并使li元素也居中,并使ul的宽度动态变化,请使用display:inline-block; 并将其包裹在居中的div中。

  • 问题内容: JavaScript有 Java有这样的东西吗?我知道我可以使用StringBuilder自己整理一些东西: …但是如果类似的东西已经成为JDK的一部分,那么这样做是没有意义的。 问题答案: 使用Java 8,你无需任何第三方库就可以做到这一点。 如果要加入字符串集合,可以使用新的方法: 如果你的Collection的类型不是String,则可以将Stream API与加入的Colle

  • 问题内容: 如何使用CSS 在另一个文件中水平居中? 问题答案: 您可以将此CSS应用于内部: 当然,您不必将设置为。任何小于包含宽度的宽度都可以使用。是什么呢实际定心。 如果您以Internet Explorer 8(及更高版本)为目标,最好改用以下方法: 它将使内部元素水平居中,并且无需设置特定的 width。 这里的工作示例: