2011-02-27 5 views
-1

인사말! 여기에서 내가 찾을 수없는 문제가 있습니다.Iterator 및 NullPointerException을 설정하십시오.

내 DisjSet 클래스 코드 끝에 sets.put(nodes_iter.next(), null);에 NullPointerException이 발생합니다.

어제 hashMaps 등의 키셋을 만들기 시작 했으므로 모르는 뭔가가있을 수 있습니다.

private Map< T, HashSet<Edge> > theGraph = new HashMap< T, HashSet<Edge> >(); 
: 여기
DisjSet<T> ds = new DisjSet<T>(theGraph.keySet()); 

난의 키 설정을 theGraph입니다 : 내가 가진 새로운 DisjSet을 만들

: 여기에 모든 awnser-

에 대한

감사 한 코드입니다

다음은 DisjSet 클래스의 관련 부분입니다.

import java.util.*; 

public class DisjSet<K extends Comparable<? super K>> 
{ 
     //HashMap containing 1. K itself, 2. Ks parent. K no.2 is null if K has no parent 
    private HashMap<K,K> sets; 

public DisjSet(Set<K> s) 
{ 
    if(s.isEmpty()) 
     throw new IllegalStateException("Empty DisjSet argument"); 

    Iterator<K> nodes_iter = s.iterator(); 

    while(nodes_iter.hasNext()) 
     sets.put(nodes_iter.next(), null); 
} 
(...) 
} 

답변

1

"집합"을 초기화하지 않으므로 NullPointerException이 발생합니다.

BTW : 이것은 사용자가 earlier this day 인 것과 동일한 오류입니다. 그러한 실수를 저지르는 것은 수치스럽지 않지만, 대답을 통해 배우려고 노력해야합니다.

+0

네, 감사합니다. 나는 알고있다. .. 나는 아주 부끄러워했다. 하루 종일 내 코드를 쳐다 보았으므로 약간의 초점이 맞지 않게되었습니다. / –

1

nodes_iter.hasNext() check가 있으므로, set이 null 일 가능성이 있습니다.

관련 문제