IT/일반

java 문자열 비교를 통한 서비스 분기

Collin 2018. 5. 29. 14:37
반응형

업무 프로세스


1. 특정 문자열을 프로퍼티로 CSV로 등록합니다. ( code, code, ... , code )

2. 파라미터 문자열 값을 프로퍼티 값과 비교 합니다.

3. 서비스 요청시 프로퍼티 문자열을 조회하여 파라미터 값과 비교 합니다.

4. 프로퍼티에 값이 있으면 A 로직, 없으면 B 로직


예 )

특정 검색어로 서비스 요청시 차단 또는 신규 서비스 제공

특정 문자열이 입력되면 프로퍼티( 또는 저장소 ) 값과 비교하여 다른 서비스 적용

URL 필터링, 문자열 필터링 등등



테스트 환경

고유 문자열 500개와 key 문자열 1개를 CSV로 생성


테스트 유형 3가지

1. csv -> token -> list -> 비교

2. csv -> split -> 비교

3. csv -> contains 비교



유형 1




유형 2




유형 3




테스트 결과






이 테스트를 하기 전에는 습관적으로 split 후 반복문으로 문자열 비교를 하였습니다.


그러다가 contains와 split 중 어느 것이 성능이 더 좋을까 의문이 생겨서 테스트 해보았습니다.


결과는 contains가 더 빠르게 처리됩니다.


비슷한 유형의 문자열 비교를 통해서 서비스를 분기 업무에 도움이 되길 바랍니다.




테스트 java 파일 입니다.


TEST_CSV.java


반응형