import java.util.Arrays;
public class ArraySpecification {
public static void main(String args[]) {
char[] correctLetters = {'a','b','c','d','e'};
Arrays.fill(correctLetters, 0, 1, 'z');
Arrays.fill(correctLetters, 2, 3, 'z');
Arrays.fill(correctLetters, 4, 5, 'z');
System.out.println(correctLetters);
}
}
我只是想问一下,有什么方法可以更快,更有效地完成这项工作?
答案 0 :(得分:2)
是的,但是没有那么好而不是支付调用静态方法的成本/开销,你可以使用保证O(1) speed
的数组索引直接更改char:
<强>样品:强>
char[] correctLetters = {'a','b','c','d','e'};
correctLetters[0] = 'z';
correctLetters[2] = 'z';
correctLetters[4] = 'z';
答案 1 :(得分:2)
好吧,除非你详细说明在特定索引处具有特定字母(例如'z'
)所需的逻辑,否则无话可说。
为什么要对Arrays.fill
感到烦恼?只需根据需要初始化数组:)!
char[] correctLetters = {'z','b','z','d','z'};
答案 2 :(得分:0)
你可以用这个循环获得相同的结果,我认为这更简单:
for (int i = 0; i < correctLetters.length; i += 2) {
correctLetters[i] = 'z';
}