例如,如果我要将数组中的所有负整数设置为0,哪个代码更常用或更快速?
int[] arr = {1, -2, -3, 4, -5};
for (int i = 0; i < arr.length; i++){
if (arr[i] < 0){
arr[i] = 0;
}
}
OR
int[] arr = {1, -2, -3, 4, -5};
for (int i = 0; i < arr.length; i++){
arr[i] = Math.max(arr[i], 0);
}
我发现我经常使用第一个。
答案 0 :(得分:0)
更快的方法取决于语言,但是IMO我总是选择可读性而不是性能(在某些情况下,性能至关重要,因此,在这种情况下,您将选择最性能化的方法)。
说,我更喜欢第一个例子:
int[] arr = {1, -2, -3, 4, -5};
for (int i = 0; i < arr.length; i++){
if (arr[i] < 0){
arr[i] = 0;
}
}
与第二个示例相比,它更易于阅读并且最好地维护该代码,但这仍然是我的看法。
但是,第一个示例可以按照您所选择的语言(取决于Java语言)以不同的方式来完成,您可以在一行中完成:
let array = [-1 -2, -3, 4, -5];
let arrayMaped = array.map(item => item >= 0 ? item : 0);
console.log(arrayMaped);