Java Stream 数字到数字

标签 java java-stream biginteger

我正在努力为此获得一个功能代码。 我有一个 0 到 9 之间的数字流。我想从这些数字中得到一个 BigInteger。 示例:

IntStream digits = IntStream.of(1, 2, 3) // should get me a Biginteger 123.
IntStream digits = IntStream.of(9, 5, 3) // should get me a Biginteger 953.

有没有办法将流中的所有元素连接起来? 这是我的基本想法:

digits.forEach(element -> result=result.concat(result, element.toString()));

最佳答案

您可以将每个数字映射到一个字符串,将它们连接在一起,然后从中创建一个 BigInteger:

BigInteger result =
    IntStream.of(1, 2, 3)
             .mapToObj(String::valueOf)
             .collect(Collectors.collectingAndThen(Collectors.joining(), 
                                                    BigInteger::new));

关于Java Stream 数字到数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44344650/

相关文章:

java - 我可以使用流从字符串列表中拆分项目吗?

java - 如何列出一个计数的数字?

java - ConfigChanges 期间 ActionBar 的导航模式变化

java - 不使用 SurfaceHolder 获取屏幕宽度

java - 如何将 Java 8 Streams 与 InputStream 一起使用?

java - 如果 findFirst() 找到的第一个元素为 null,为什么会抛出 NullPointerException?

c# - 快速将非常大的 BigInteger 写入 .txt 文件

c# - BigIntegers 的 ArrayList 到字节数组

java - 如何使用两张 map 并制作另一张 map ?

java - Spring 安全 OAuth2 : How do I provide two seperate login links for two type of users?