【问题标题】:Concatenating ArrayList<Integer> elements into a single string without loop in java在java中将ArrayList<Integer>元素连接成一个没有循环的字符串
【发布时间】:2020-08-02 17:11:39
【问题描述】:

我有一个数组列表

ArrayList<Integer> al=new ArrayList<>();
al.add(3);
al.add(8);
al.add(123);
al.add(41);

不是我想要的

String s="3812341";

这可以不用循环或通过内置方法来完成吗?

【问题讨论】:

  • 没有任何内置方法如何获取元素?
  • @namenotfound String类型中的方法join(CharSequence, CharSequence...)不适用于参数(String, List&lt;Integer&gt;)
  • 不,没有内置方法就无法完成。如果不调用内置方法,则无法从 ArrayList 中获取值。

标签: java string loops arraylist


【解决方案1】:

如果您使用的是 Java 8,则可以使用 Stream API 轻松解决。

String s = al.stream().map(String::valueOf).reduce((x, y) -> x + y).get();

我们使用 stream() 函数构建一个流,并将 Integer 值映射到 String 值,最后使用 reduce() 函数将其缩减为 String。这将返回一个 Optional 对象,这就是我们在最后使用 get() 函数来获取实际值的原因。

【讨论】:

    【解决方案2】:

    你可以简单地使用下面的代码

    String s = al.toString().replaceAll("\\[|\\]|\\, ", "");
    

    希望对你有帮助!!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-05-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多