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

Java:将List

司业
2023-03-14
问题内容

JavaScript有 Array.join()

js>["Bill","Bob","Steve"].join(" and ")
Bill and Bob and Steve

Java有这样的东西吗?我知道我可以使用StringBuilder自己整理一些东西:

static public String join(List<String> list, String conjunction)
{
   StringBuilder sb = new StringBuilder();
   boolean first = true;
   for (String item : list)
   {
      if (first)
         first = false;
      else
         sb.append(conjunction);
      sb.append(item);
   }
   return sb.toString();
}

…但是如果类似的东西已经成为JDK的一部分,那么这样做是没有意义的。


问题答案:

使用Java 8,你无需任何第三方库就可以做到这一点。

如果要加入字符串集合,可以使用新的String.join()方法:

List<String> list = Arrays.asList("foo", "bar", "baz");
String joined = String.join(" and ", list); // "foo and bar and baz"

如果你的Collection的类型不是String,则可以将Stream API与加入的Collector一起使用:

List<Person> list = Arrays.asList(
  new Person("John", "Smith"),
  new Person("Anna", "Martinez"),
  new Person("Paul", "Watson ")
);

String joinedFirstNames = list.stream()
  .map(Person::getFirstName)
  .collect(Collectors.joining(", ")); // "John, Anna, Paul"

StringJoiner也可能是有用的。



 类似资料:
  • 问题内容: 我是Java新手。我怎么能转换到中?我很困惑,因为实际上返回了,可以将其强制转换为或。 现在,我正在使用循环来做到这一点: 我敢肯定有更好的方法可以做到这一点。 问题答案: 不幸的是,我不相信有真的是这样做由于Java的处理基本类型,拳击,数组和仿制药的性质的更好的方法。尤其是: 无法运作,因为没有从转换为 你不能将其int用作泛型的类型参数,因此它必须是特定于-的方法(或使用反射进行

  • 问题内容: 我知道Java 7不能提供Java 7的运行时功能,但是由于 没有添加 新的字节码,因此新的字节码仅与非Java语言有关,我想知道转换Java会有多困难纯Java 6的7个源代码(新语句,菱形运算符)(即能够开始将源转换为Java 7而又不失去Java 6兼容性)。 有指针吗? 问题答案: 将Java 7 javac输出的.class文件标记为1.6.0版(即0x32) (根据http

  • 问题内容: 如何用Java 将对象转换为数组? 问题答案: 例如: 没有传递任何参数的方法将返回。因此,你必须传递一个数组作为参数,该数组将用列表中的数据填充并返回。你也可以传递一个空数组,但也可以传递所需大小的数组。 重要更新:最初使用上面的代码。但是,此博文显示由于JVM优化,现在使用更好。

  • 本文向大家介绍Java 将Map映射转换为 List,包括了Java 将Map映射转换为 List的使用技巧和注意事项,需要的朋友参考一下 首先,让我们创建一个Java Map并初始化- 现在,将Map转换为List- 示例 以下是在Java中将Maps转换为List的程序- 输出结果

  • 本文向大家介绍在 Java 中将 List 转换为 Set,包括了在 Java 中将 List 转换为 Set的使用技巧和注意事项,需要的朋友参考一下 假设以下是带有字符串值的列表- 现在,将上面的列表转换为set- 示例 以下是在Java中将List转换为Set的程序- 输出结果

  • 我有一个标签类,它包含一个项目列表 我有一个标签列表,其中每个标签都有一个项目列表 我想把它转换成一个映射,其中的项目是key,而tagName是值。 预期产出: 我尝试了Stream/FaltMap/GroupingBy的各种组合,但没有得到预期的输出。你能帮帮我吗。谢谢