将ArrayList <integer>转换为一个数字?</integer>

时间:2013-12-19 17:41:48

标签: java arraylist append

我试图想出另一种方法,而不是使用String.valueOf(),然后使用Integer.parseInt()将数字数组转换为一个long个数字,而不是添加值,只是比如追加一个字符串。

  

示例:假设您有5个元素的ArrayList<Integer>和   数字是(e =元素) - &gt;

     

e0(1),e1(4),e2(3),e3(6),e4(7)

所以我想把它变成一种long号码 - &gt; 14367

我需要这个在java中找到一个所谓的 Miraculous 号码。我要使用列表,并打印一个神奇的数字。 (还有关于这个神奇数字的任何提示吗?)

3 个答案:

答案 0 :(得分:6)

以数学方式思考。一系列数字与它们共同代表的数字之间的关系是什么?

每个数字代表10的幂。最后一位是10 0 的位置,下一位是10 1 的位置等。

long number = 0;

for (int digit: digits) {
    number *= 10;
    number += digit;
}

答案 1 :(得分:2)

我建议理解这样做。当我们写12345时,每​​个数字代表什么?例如,4意味着什么?

答案 2 :(得分:2)

这对于数组的toString()表示变得聪明,但是这里是:

    List<Integer> nums = Arrays.asList(1, 2, 3, 4, 5);
    String theNum = nums.toString().replaceAll("\\D","");
    Long.parseLong(theNum);