Heim  >  Artikel  >  Java  >  So ersetzen Sie den Schalter in Java

So ersetzen Sie den Schalter in Java

王林
王林nach vorne
2023-05-16 21:49:041384Durchsuche

Switch ersetzen

Die Schlüsselwort-Switch-Anweisung wird für die Beurteilung mehrerer Bedingungen verwendet. Die Funktion der Switch-Anweisung ähnelt der if-else-Anweisung und die Leistung der beiden ist ähnlich. Daher kann nicht gesagt werden, dass die Switch-Anweisung die Leistung des Systems verringert. In den meisten Fällen besteht jedoch noch Raum für Leistungsverbesserungen in der switch-Anweisung.

Sehen Sie sich das folgende Beispiel an:

public static void main(String[] args) {                 long start = System.currentTimeMillis();                 int re = 0;                 for (int i = 0;i<1000000;i++){             re = switchInt(i);             System.out.println(re);         }         System.out.println(System.currentTimeMillis() - start+"毫秒");//17860     }         public static int switchInt(int z){                    int i = z%10+1;                    switch (i){                        case 1:return 3;                        case 2:return 6;                        case 3:return 7;                        case 4:return 8;                        case 5:return 10;                        case 6:return 16;                        case 7:return 18;                        case 8:return 44;                        default:return -1;      }   }

In Bezug auf die Verzweigungslogik ist die Leistung dieses Switch-Modus nicht schlecht. Wenn Sie jedoch eine neue Idee verwenden, um den Schalter zu ersetzen und die gleichen Programmfunktionen zu erreichen, gibt es viel Raum für Leistungsverbesserungen.

public static void main(String[] args) {                 long start = System.currentTimeMillis();                 int re = 0;                 int[] sw = new int[]{0,3,6,7,8,10,16,18,44};                 for (int i = 0;i<1000000;i++){             re = arrayInt(sw,i);             System.out.println(re);         }         System.out.println(System.currentTimeMillis() - start+"毫秒");//12590     }         public static int arrayInt(         int[] sw,int z){                 int i = z%10+1;                 if (i>7 || i<1){                        return -1;         }else {                        return sw[i];         }     }

Der obige Code verwendet eine neue Idee und verwendet ein kontinuierliches Array anstelle der switch-Anweisung. Da der wahlfreie Zugriff auf Daten sehr schnell ist, ist er zumindest besser als die Beurteilung von Switch-Zweigen. Durch Experimente dauerte die Anweisung mit Switch 17860 ms und die Implementierung mit Array nur 12590 ms, was einer Verbesserung von mehr als 5 s entspricht. In der Softwareentwicklung kann eine Änderung Ihrer Denkweise zu besseren Ergebnissen führen. Beispielsweise ist die Verwendung eines Arrays als Ersatz für die Switch-Anweisung ein gutes Beispiel.

Das obige ist der detaillierte Inhalt vonSo ersetzen Sie den Schalter in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen