본문 바로가기
자바

djb2 문자열 해시 함수

by jeonghaemin 2022. 3. 4.
728x90

djb2는 문자열 해시 함수중 간단하면서 무작위 분포를 만드는데 뛰어나다고 알려져 있다.

int djb2(char[] arr) {
    int hash = 5381;

    for (int i = 0; i < arr.length; i++) {
        hash = (((hash << 5) + hash) + arr[i]);
    }

    if(hash < 0) hash *= -1;

    return (hash % HASH_TABLE_SIZE);
}

'자바' 카테고리의 다른 글

Mockito 사용해보기  (0) 2022.04.17
[자바] String, StringBuffer, StringBuilder  (0) 2022.03.21
[Java] ThreadLocal  (0) 2021.12.30
[자바8] Effectively final  (0) 2021.07.07
[자바] 문자열 뒤집기 - StringBuilder.reverse()  (0) 2021.07.05

댓글