ArrayList<Integer> initgenome = new ArrayList<Integer>(Collections.nCopies(4990, 0));
array_unshift(initgenome, 10, 1);我是爪哇的新手。我正试图构建5000条基因基因组。我想要4990个基因的基因为0,而前10个基因的基因为1。我在网上搜索,我发现一个网站说array_unshift会把我想要的任何东西转移到数组的前面。我不知道如何检查这段代码实际上是将101 s推到数组的前面,还是刚刚开始使用大量的10s和大量的1s呢?这段代码是否真的告诉数组在ArrayList开始时只放101 s?
发布于 2016-10-31 18:29:28
下面是创建列表的有效方法:
// 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));发布于 2016-10-31 18:26:24
我想你要找的是:
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.add(0, myList);https://stackoverflow.com/questions/40348052
复制相似问题