2016-10-31 4 views
1
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が多く始まっているのかどうかを調べる方法を知らないのですか?このコードは、ArrayListの先頭に10 1を置くように実際に配列に指示していますか?アレイリストUnshift

+0

'new ArrayList (Collections.nCop (10,1).addAll(Collections.nCopies(4990,0))); ' – flakes

答えて

0

あなたのリストを作成するための効率的な方法である:

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

は次に、このようなあなたのinitgenomeのコレクションがあること先頭に追加:https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html だから、あなたはこのような何かを行うことができます

// 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)); 
1

私は何を探していることはこれだと思う:すべての要素を削除しないように注意しながら

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

これは、あなたが欲しいもののリストを付加します。

参考:ここで

initgenome.add(0, myList); 
関連する問題