반응형
한글 초성(자음)으로 검색하는 방법에 대해 알아보려고 합니다.
숫자나 영문은 첫 글자로 검색을 하면 되는데, 한글 자음으로 검색을 하기 위해서는 조금의 작업이 필요합니다.
1. 한글 초성(자음) 리스트 만들기
List<String> index_list = new ArrayList<>();
index_list.add("ㄱ"); index_list.add("ㄴ"); index_list.add("ㄷ");
index_list.add("ㄹ"); index_list.add("ㅁ"); index_list.add("ㅂ");
index_list.add("ㅅ"); index_list.add("ㅇ"); index_list.add("ㅈ");
index_list.add("ㅊ"); index_list.add("ㅋ"); index_list.add("ㅌ");
index_list.add("ㅍ"); index_list.add("ㅎ");
- ArrayList로 "ㄱ ~ ㅎ" 을 저장합니다.
- index(초성/자음)에 번호를 매기기 위한 작업입니다.
2. HashMap에 문자 넣기
Map<Integer, String> index_map = new HashMap<>();
index_map.put(0, "가"); index_map.put(1, "나"); index_map.put(2, "다");
index_map.put(3, "라"); index_map.put(4, "마"); index_map.put(5, "바");
index_map.put(6, "사"); index_map.put(7, "아"); index_map.put(8, "자");
index_map.put(9, "차"); index_map.put(10, "카"); index_map.put(11, "타");
index_map.put(12, "파"); index_map.put(13, "하"); index_map.put(14, "힣");
- HashMap에 위의 리스트(index_list)와 같은 번호로 "가 ~ 하" + "힣" 까지 입력합니다.
- ㄱ : 0번이므로 index_map.put(0, "가")를 입력하는 것입니다.
- "힣"을 넣는 이유는 "하" 이후의 범위를 지정하기 위함입니다. (하 ~ 힣 사이 문자)
3. 쿼리에 조건 추가하기
String index = "검색 자음";
int num = 0;
String whereSQL = "";
for( int i = 0; i < index_list.size(); i++ ) {
if( index.equals(index_list.get(i)) ) {
num = i;
break;
}
}
whereSQL = " word >= '" + index_map.get(num) + "' and word < '" + index_map.get(num+1) + "' ";
- 만약 index(자음) 값이 "ㄴ" 이라면, whereSQL 문은 아래와 같습니다.
whereSQL = " word >= '나' and word < '다' ";
- 따라서 초성이 "ㄴ"인 모든 문자가 검색됩니다. (예 : 나라, 농부, 눈사람 등)
이상으로 Java 언어로 한글 초성(자음) 검색 방법에 대해 알아보았습니다.
반응형
'Web Developer's Story > JAVA' 카테고리의 다른 글
[JAVA] 조건문 변수 타입별 사용법 - if문, 중첩 if문 (0) | 2020.08.12 |
---|---|
[JAVA, JAVASCRIPT] CKEditor 사용법 및 이미지 업로드 방법 (11) | 2020.08.09 |
[JAVA] 파일 존재 여부 확인하기 (exists) (0) | 2020.08.03 |
[JAVA] 객체 지향 언어(JAVA) 개념 정리 (0) | 2020.08.03 |
[JAVA] LocalDate, LocalTime, LocalDateTime 클래스 사용 방법 (0) | 2020.08.03 |