使用String.join()可直接连接字符串集合,Java 8可用Stream API的collect(Collectors.joining())处理任意类型,StringBuilder适合高性能场景。

在Java中,将集合元素连接成一个字符串有多种方式,最常用的是使用 String.join() 和 StringBuilder,Java 8 之后还可以使用 Stream API。以下是几种实用的方法。
如果你的集合是 Collection<String> 类型,可以直接使用 String.join() 配合 String.join(CharSequence delimiter, Iterable extends CharSequence> elements) 方法:
示例:
  List<String> list = Arrays.asList("apple", "banana", "orange");
  String result = String.join(", ", list);
  System.out.println(result); // 输出:apple, banana, orange
通过 stream() 和 Collectors.joining(),可以灵活处理任意类型的集合,并自定义分隔符、前缀和后缀。
示例:
  List<String> list = Arrays.asList("apple", "banana", "orange");
  String result = list.stream().collect(Collectors.joining(", "));
  System.out.println(result); // 输出:apple, banana, orange
如果集合中是对象或非字符串类型,可以先用 map() 转换:
立即学习“Java免费学习笔记(深入)”;
  List<Integer> numbers = Arrays.asList(1, 2, 3, 4);
  String result = numbers.stream()
        .map(String::valueOf)
        .collect(Collectors.joining(" | "));
  System.out.println(result); // 输出:1 | 2 | 3 | 4
当需要更高性能或在循环中拼接时,使用 StringBuilder 更加高效,尤其适用于大数据量场景。
示例:
  List<String> list = Arrays.asList("apple", "banana", "orange");
  StringBuilder sb = new StringBuilder();
  for (int i = 0; i 
    if (i > 0) sb.append(", ");
    sb.append(list.get(i));
  }
  String result = sb.toString();
  System.out.println(result); // 输出:apple, banana, orange
也可以配合迭代器避免索引判断:
  StringBuilder sb = new StringBuilder();
  for (Iterator<String> it = list.iterator(); it.hasNext();) {
    sb.append(it.next());
    if (it.hasNext()) sb.append(" - ");
  }
  System.out.println(sb.toString()); // 输出:apple - banana - orange
基本上就这些。根据集合类型和性能需求选择合适的方式。小数据用 String.join() 或 Stream,大数据或频繁操作建议用 StringBuilder。
以上就是Java中如何将集合元素连接成一个字符串的详细内容,更多请关注php中文网其它相关文章!
 
                        
                        每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
 
                Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号