2013-12-12 6 views
2

자바에서 해시 테이블을 만들고 분석 할 필요가 있습니다. 내 분석 작업 중 하나는 두 개 이상의 값이 첨부 된 해시 테이블의 슬롯 수 (본질적으로 해시 충돌 비율)를 비교하는 것입니다.해시 테이블 배열 검색에서 Nullpointer 예외가 발생했습니다.

소수 (임의 결정) 인 경우 해시 테이블을 임의의 숫자로 채 웁니다. 내가 생성하는 randoms의 양은 0.8 * primeNumber와 같습니다. 해시 충돌을 처리하기 위해 별도의 연결을 사용하고 있습니다. 해시 테이블의 배열은 노드를 저장하지만 각 노드는 다른 노드를 가리킬 수 있습니다 (실제로는 연결된 목록의 배열입니다).

내 문제는 배열 (각 노드)의 각 위치에 다음 요소가 있는지 확인하기 위해 버킷 (노드 배열 유지 노드)을 통과하려고 할 때입니다. 다음 요소는 다음 노드를 의미합니다. 해당 위치에서 해시 충돌이 발생 함). 일관되게 null 포인터 예외가 발생하고 노드가 다음 ndoe를 가리키는 지 확인할 때가있는 것 같습니다.

답변

1

변경

if (hPrime.getBucket()[i].hasNext()) { 

if (hPrime.getBucket()[i] != null && hPrime.getBucket()[i].hasNext()) { 
관련 문제