Effizienzunterschied zwischen verschiedenen Arten, Min und Max in einer Java -Liste zu findenJava

Java-Forum
Anonymous
 Effizienzunterschied zwischen verschiedenen Arten, Min und Max in einer Java -Liste zu finden

Post by Anonymous »

Ich habe ähnliche Fragen wie dieses ähnliche gefunden, aber ich habe keine gefunden, die diese genaue Frage beantwortet. Ich habe eine Liste von Zahlen und möchte durch sie iterieren, um die minimalen und maximalen Werte zu finden. Ich frage mich, ob es einen Leistungsunterschied zwischen der Verwendung von if /geben würde

Code: Select all

else
Anweisungen und Math.min /

Code: Select all

Math.max
.

Code: Select all

List list = null;
int min = Integer.MAX_VALUE;
int max = Integer.MIN_VALUE;
Ich könnte dann verwenden, wenn /

Code: Select all

else
wie das:

Code: Select all

for (int currentNum : list) {
if (currentNum < min) {
min = currentNum;
}
if (currentNum > max) {
max = currentNum;
}
}
or Math.max & Math.min wie das:
for (int currentNum : list) {
min = Math.min(min, currentNum);
max = Math.max(max, currentNum);
}
< /code>
Ich mag den zweiten, weil es sich ausdrucksvoller anfühlt (und es ist kürzer). Aber man könnte denken, dass es langsamer sein könnte, weil es jedes Mal eine variable Zuordnung durchführt, auch wenn es auf denselben Wert eingestellt wird. Andererseits wurde mir gesagt, dass der JIT -Compiler des JVM sehr klug ist und dies vielleicht optimieren kann.
Könnte es also einen Leistungsunterschied?>

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post