相关疑难解决方法(0)

创建长度为N的新数组的最快方法,并通过重复给定数组来填充它

我想分配一个长度为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)

有更快的方法吗?

java arrays performance repeat

13
推荐指数
1
解决办法
408
查看次数

标签 统计

arrays ×1

java ×1

performance ×1

repeat ×1