各要素に添字を含む、特定の長さの配列を作成する最も効率的な方法は何ですか?
私のダミーレベルのコードで考えられる説明:
/**
* The IndGen function returns an integer array with the specified dimensions.
*
* Each element of the returned integer array is set to the value of its
* one-dimensional subscript.
*
* @see Modeled on IDL's INDGEN function:
* http://idlastro.gsfc.nasa.gov/idl_html_help/INDGEN.html
*
* @params size
* @return int[size], each element set to value of its subscript
* @author you
*
* */
public int[] IndGen(int size) {
int[] result = new int[size];
for (int i = 0; i < size; i++) result[i] = i;
return result;
}
doc スタイルなど、その他のヒントも歓迎します。
編集
for
たとえば、Copying an Arrayのように、ループが他の方法と比較してどれほど非効率的であるかを他の場所で読みました。
クローンを使用: 93 ミリ秒
System.arraycopy を使用: 110 ミリ秒
Arrays.copyOf の使用: 187 ミリ秒
for ループの使用: 422 ミリ秒
このサイトのいくつかの質問に対する想像力に富んだ回答に感銘を受けました。いくつかの方法を提案する可能性のある答えは次のとおりです。
public class To100 {
public static void main(String[] args) {
String set = new java.util.BitSet() {{ set(1, 100+1); }}.toString();
System.out.append(set, 1, set.length()-1);
}
}
この困難な問題に取り組む準備ができていない場合は、発散する必要はありません。次の未回答の質問に進んでください。解決できる質問です。