개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.07.13 22:45

QuickHashStringIntHash::exists 관련 질문

목록
  • 풀스택꿈나무 1일 전 2025.07.13 22:45
  • 9
    1
내가 사용 중인 QuickHashStringIntHash 클래스의 exists 메소드에 대해 궁금합니다.

exists 메소드는 특정 키가 해시 테이블에 존재하는지 여부를 반환합니다. 그러나 예상과 다르게 null 키가 존재하는 경우 false를 반환하고, 키가 존재하는 경우 true를 반환합니다.

이러한 동작에 대해 의문이 생겨서 질문드리게 되었습니다.

exists 메소드는 null 키가 존재하는 경우 true를 반환해야 할 것 같습니다.

혹시 저의 이해가 잘못되어 있는지 또는 코드에 문제가 있는지 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    exists 메소드는 null 키가 존재하는 경우 false를 반환하는 것이 정상입니다. 이는 해시 테이블이 null 키를 저장하지 않기 때문입니다.

    해시 테이블은 키가 중복되지 않도록 설계되어 있습니다. 따라서 null 키가 이미 존재하는 경우, 새로운 null 키를 추가할 수 없습니다.

    따라서 exists 메소드는 null 키가 존재하는 경우 false를 반환하는 것이 논리적이고 올바른 동작입니다.

    만약 null 키가 존재하는 경우 true를 반환하고 싶다면, 키가 null 인지 아닌지를 별도로 확인하는 로직을 추가해야 합니다.

    예를 들어, 다음과 같이 코드를 수정할 수 있습니다.

    #hostingforum.kr
    php
    
    if ($hash->exists($key) === false && $key === null) {
    
        return true;
    
    } else {
    
        return $hash->exists($key);
    
    }
    
    

    2025-07-13 22:46

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 35,952건 / 8 페이지

검색

게시물 검색