将多个BigInteger值添加到ArrayList

这个问题在这里已经有了答案:

  • 在一行中初始化ArrayList 32个答案

  • 我不确定你在做什么。 你有四种选择:

    1.单独添加项目

    实例化具体的List类型,然后为每个项目调用add()

    List<BigInteger> list = new ArrayList<BigInteger>();
    list.add(new BigInteger("12345"));
    list.add(new BigInteger("23456"));
    

    2.子类具体的List类型(双括号初始化)

    有些人可能会建议像这样的双大括号初始化

    List<BigInteger> list = new ArrayList<BigInteger>() {{
      add(new BigInteger("12345"));
      add(new BigInteger("23456"));
    }};
    

    我建议不要这样做。 你实际上在这里做的是继承ArrayList ,它不是一个好主意。 这种事情可以打破Comparatorequals()方法等等。

    3.使用Arrays.asList()

    另一种方法:

    List<BigInteger> list = new ArrayList<BigInteger>(Arrays.asList(
      new BigInteger("12345"),
      new BigInteger("23456")
    ));
    

    或者,如果你不需要一个ArrayList ,那么简单如下:

    List<BigInteger> list = Arrays.asList(
      new BigInteger("12345"),
      new BigInteger("23456")
    );
    

    我更喜欢上述两种方法之一。

    4. Collection文字(Java 7+)

    假设Java 7中的集合文字继续前进,您将可以执行此操作:

    List<BigInteger> list = [new BigInteger("12345"), new BigInteger("23456")];
    

    就目前来看,我不认为这个功能已经被证实。

    而已。 那些是你的选择。 选一个。


    BigIntegerArrays.asList(1, 2, 3, 4);
    

    BigIntegerArrays是一个自定义类,它可以满足您的需求。 如果你经常这样做,这会有所帮助。 这里没有火箭科学 - ArrayList BigIntegerArrays.asList(Integer ... args)将使用FOR循环。


    Arrays.asList(new BigInteger("1"), new BigInteger("2"), new BigInteger("3"), new BigInteger("4"));
    

    您可能可以创建一个方法,该方法返回给定一个String的新BigInteger,称之为bi(..)以减小该行的大小。

    链接地址: http://www.djcxy.com/p/27709.html

    上一篇: Adding multiple BigInteger values to an ArrayList

    下一篇: How can I initialize a collection and add data on the same line?