Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 从int数组创建BigInteger数组_Java_Arrays_Int_Biginteger_Java 8 - Fatal编程技术网

Java 从int数组创建BigInteger数组

Java 从int数组创建BigInteger数组,java,arrays,int,biginteger,java-8,Java,Arrays,Int,Biginteger,Java 8,我有一个int数组。有没有一种方法可以在不迭代元素的情况下将这个int数组直接转换为biginger数组?在Java-8下,没有迭代就无法实现这一点(为什么这很重要,性能会对运行时造成如此大的阻碍?这是应用程序的瓶颈吗?你必须知道迭代“成本”无论您是否直接使用它,都将从您的应用程序中付出代价) 无论如何,为了完整性和使此答案更有用,您可以这样做: for (int i = 0; i < arr.length ; i++) bigIntegerArray[i] = BigIntege

我有一个int数组。有没有一种方法可以在不迭代元素的情况下将这个int数组直接转换为biginger数组?

在Java-8下,没有迭代就无法实现这一点(为什么这很重要,性能会对运行时造成如此大的阻碍?这是应用程序的瓶颈吗?你必须知道迭代“成本”无论您是否直接使用它,都将从您的应用程序中付出代价)

无论如何,为了完整性和使此答案更有用,您可以这样做:

for (int i = 0; i < arr.length ; i++)
    bigIntegerArray[i] = BigInteger.valueOf(arr[i]);
for(int i=0;i
如果您决定将
int
数组转换为单个
biginger
,则有一个构造函数:

将包含
biginger
的两个二进制补码表示形式的
byte
数组转换为
biginger
。假设输入数组按大端字节顺序排列:最高有效字节位于第0个元素中


(正如您可能知道的,
int
可以表示为4个
字节
s)

如果不在Java-8下进行迭代,就无法实现这一点(为什么这很重要,性能会如此严重地阻碍您的运行?这是应用程序的瓶颈吗?您必须知道迭代的“成本”无论您是否直接使用它,都将从您的应用程序中付出代价)

无论如何,为了完整性和使此答案更有用,您可以这样做:

for (int i = 0; i < arr.length ; i++)
    bigIntegerArray[i] = BigInteger.valueOf(arr[i]);
for(int i=0;i
如果您决定将
int
数组转换为单个
biginger
,则有一个构造函数:

将包含
biginger
的两个二进制补码表示形式的
byte
数组转换为
biginger
。假设输入数组按大端字节顺序排列:最高有效字节位于第0个元素中


(您可能知道,
int
可以表示为4个
字节
s)

如果您使用


如果您正在使用


等等,你的意思是将它转换为一个大整数数组,其中每个
int
都转换为1
biginger
?你只是在寻找一个单行程序,还是觉得你必须为迭代节省成本?你需要迭代。AFAIKI不希望以这样的方式将每个int值转换为BigInteger值。是的,我正试图这样做以节省迭代的成本。迭代的成本将发生,无论发生什么。如果不是您的代码,那么其他一些(库)代码将必须迭代整数数组并创建BigInteger实例。等等,您的意思是将其转换为一个大整数数组,其中每个
int
都转换为1
biginger
?您只是在寻找一个单行程序,还是觉得必须为迭代节省成本?您需要迭代。AFAIKI不希望以这样的方式将每个int值转换为BigInteger值。是的,我正试图这样做以节省迭代的成本。迭代的成本将发生,无论发生什么。如果不是您的代码,那么其他一些(库)代码将不得不迭代整数数组并创建BigInteger实例。@YassinHajaj您以前使用过的、我认为更干净的
toArray(BigInteger[]::new)
。尽管如此,它仍然有效,+1。@Jean-FrançoisSavard是的,改变它:)@YassinHajaj这行
toArray(BigInteger[]::new)
,你以前做过,在我看来更干净。尽管如此,它仍然有效,+1。@Jean-FrançoisSavard是的,改变它:)