> Java > java지도 시간 > Java에서 스위치를 교체하는 방법

Java에서 스위치를 교체하는 방법

王林
풀어 주다: 2023-05-16 21:49:04
앞으로
1399명이 탐색했습니다.

Replace switch

키워드 switch 문은 다중 조건 판단에 사용됩니다. switch 문의 기능은 if-else 문과 유사하며 둘의 성능도 비슷합니다. 따라서 스위치 문이 시스템 성능을 저하시킨다고는 말할 수 없습니다. 그러나 대부분의 경우 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];         }     }
로그인 후 복사

위 코드는 스위치 문 대신 연속 배열을 사용하는 새로운 아이디어를 사용합니다. 데이터에 대한 무작위 액세스는 매우 빠르기 때문에 적어도 스위치 분기 판단보다 낫습니다. 실험을 통해 스위치를 사용한 명령문은 17860ms가 걸렸고, 배열을 사용한 구현은 12590ms만 소요되어 5초 이상 개선되었습니다. 소프트웨어 개발에서는 생각을 바꾸면 더 나은 결과를 얻을 수 있습니다. 예를 들어 스위치 문을 대체하기 위해 배열을 사용하는 것이 좋은 예입니다.

위 내용은 Java에서 스위치를 교체하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:yisu.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿