我想分配一个长度为N的新数组,并通过重复给定的数组来填充它.界面如下所示:
<T> T[] repeat(T[] array, int n);
Run Code Online (Sandbox Code Playgroud)
澄清我的意思是一个小例子:
String a = {"a", "b", "c"};
// b = {"a", "b", "c", "a", "b", "c", "a", "b", "c", "a"}
String b = repeat(a, 10);
Run Code Online (Sandbox Code Playgroud)
大多数程序员将提出以下解决方案(为了简化数组生成,选择了特定类型):
public String[] repeat(String[] array, int n) {
String[] repeated = new String[n];
for (int i = 0; i < n; i++) {
repeated[i] = array[i % array.length];
}
return repeated;
}
Run Code Online (Sandbox Code Playgroud)
有更快的方法吗?