Код: Выделить всё
else
Код: Выделить всё
Math.max
Итак, если я начну со следующего:
Код: Выделить всё
List list = null;
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
Код: Выделить всё
else
Код: Выделить всё
for (int currentNum : list) {
if (currentNum < min) {
min = currentNum;
}
if (currentNum > max) {
max = currentNum;
}
}
for (int currentNum : list) {
min = Math.min(min, currentNum);
max = Math.max(max, currentNum);
}
< /code>
Мне нравится второй, потому что он кажется более выразительным (и это короче). Но можно подумать, что это может быть медленнее, потому что он выполняет назначение переменных каждый раз, даже если оно устанавливается на одно и то же значение. С другой стороны, мне сказали, что компилятор JVM JIT очень умный и, возможно, может оптимизировать это.
Так может быть разница в производительности?
Подробнее здесь: https://stackoverflow.com/questions/797 ... -java-list