You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何不转换为数组,按空格分隔打印ArrayList元素?

解决ArrayList空格分隔输出的问题

嘿,这个需求我之前也碰到过!遗憾的是,ArrayList并没有内置的直接方法能直接输出成1 2 3这样的空格分隔格式——因为它默认的toString()方法就是输出带方括号和逗号的[1,2,3]。不过我们有几种简单的实现方式,来看看:

方法一:普通循环遍历(兼容所有Java版本)

这是最基础的方式,手动控制每个元素的输出和空格:

ArrayList<Integer> a = new ArrayList<>();
a.add(1);
a.add(2);
a.add(3);

for (int i = 0; i < a.size(); i++) {
    // 除了第一个元素,前面先加空格
    if (i > 0) {
        System.out.print(" ");
    }
    System.out.print(a.get(i));
}
// 最终输出:1 2 3

方法二:Java 8+ Stream API(简洁写法)

如果你的项目用的是Java 8及以上,用Stream可以一行搞定:

ArrayList<Integer> a = new ArrayList<>();
a.add(1);
a.add(2);
a.add(3);

String result = a.stream()
                .map(String::valueOf) // 把每个元素转成字符串
                .collect(Collectors.joining(" ")); // 用空格拼接
System.out.println(result);
// 输出:1 2 3

方法三:Java 8+ StringJoiner(更直观的拼接工具)

StringJoiner是专门用来拼接字符串的工具,用法也很清晰:

ArrayList<Integer> a = new ArrayList<>();
a.add(1);
a.add(2);
a.add(3);

StringJoiner joiner = new StringJoiner(" ");
for (Integer num : a) {
    joiner.add(num.toString());
}
System.out.println(joiner.toString());
// 输出:1 2 3

简单总结下:如果是老版本Java就用循环,新版本的话Stream或者StringJoiner都能让代码更简洁。

内容的提问来源于stack exchange,提问作者Shoukhin78

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.07 19:02:53