数组列表Unshift

时间:2016-10-31 18:14:05

标签: java arrays arraylist

ArrayList<Integer> initgenome = new ArrayList<Integer>(Collections.nCopies(4990, 0));
array_unshift(initgenome, 10, 1);

我是java新手。我正在尝试构建一个5,000基因的基因组。我希望4990个基因的基因为0,前10个基因的基因为1。我在网上看,我发现一个网站说array_unshift会将我想要的任何东西移到数组的前面。我不知道如何检查这段代码是否真的将10个1推到阵列前面,或者它是刚开始时有很多10秒和很多1?这段代码实际上是告诉数组只将10个1放在ArrayList的开头吗?

2 个答案:

答案 0 :(得分:1)

我认为您正在寻找的是:

ArrayList.addAll(int index, Collection<? extends E> c)

这会在列表中添加您想要的内容,同时注意不删除任何元素。

参考:https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html 所以你可以这样做:

List<Integer> myList = new ArrayList<>();
//Now, Add all the numbers you want in myList

然后将这个集合预先添加到你的initgenome中:

initgenome.add(0, myList);

答案 1 :(得分:0)

以下是创建列表的有效方法:

// Create your list with a proper initial capacity
List<Integer> initgenome = new ArrayList<>(5_000);
// Add the 10 first values
initgenome.addAll(Collections.nCopies(10, 1));
// Add the rest
initgenome.addAll(Collections.nCopies(4990, 0));