ホームページ > Java > &#&チュートリアル > Javaでスイッチを置き換える方法

Javaでスイッチを置き換える方法

王林
リリース: 2023-05-16 21:49:04
転載
1399 人が閲覧しました

Replace switch

キーワード switch 文は複数条件の判定に使用され、if-else 文と機能が似ており、性能も似ています。したがって、switch ステートメントがシステムのパフォーマンスを低下させるとは言えません。ただし、ほとんどの場合、switch ステートメントにはパフォーマンスを改善する余地がまだあります。

次の例を見てください:

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;      }   }
ログイン後にコピー

分岐ロジックに関する限り、このスイッチ モードのパフォーマンスは悪くありません。しかし、スイッチを置き換える新しいアイデアを使用して、同じプログラムの機能を実現すると、パフォーマンスには改善の余地がたくさんあります。

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];         }     }
ログイン後にコピー

上記のコードは、switch ステートメントの代わりに連続配列を使用するという新しいアイデアを使用しています。データへのランダムアクセスは非常に高速であるため、少なくともスイッチ分岐判断よりも優れています。実験によると、switch を使用したステートメントには 17860 ミリ秒かかりましたが、配列を使用した実装には 12590 ミリ秒しかかからず、5 秒以上改善されました。ソフトウェア開発では、switch ステートメントの代わりに配列を使用するなど、考え方を変えるとより良い結果が得られる場合があります。

以上がJavaでスイッチを置き換える方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:yisu.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート