2016-10-24 4 views
0

arraylist에 조건을 만족시키는 세트를 추가하고 싶지만, 추가 할 수는 없습니다. 메인 함수에서arraylist에 요소를 추가 할 수 없습니다.

public void insert(List<Set<Integer>> tran){ 
    Node left = new Node(); 
    Node right = new Node(); 
    List<Set<Integer>> insert_list = new ArrayList<Set<Integer>>(); 
    for(int i = 0; i < insert_list.size(); i++){ 
     Set<Integer> temp = insert_list.get(i); 
     System.out.println(temp); 
     Iterator itr = temp.iterator(); 
     int value = (int)itr.next(); 
     System.out.println(value); 
     if(value%2 ==0){ 
      left.leaf.add(temp); 
     } 
     else{ 
      right.leaf.add(temp); 
     } 
    } 
    System.out.println(left.leaf); 
    System.out.println(right.leaf); 

, 나는로 불리는 :

Node test = new Node(); 
test.insert(candidate2); 

이 생성자 보이는 Node 클래스에서 함수입니다 같은 :

private List<Set<Integer>> leaf = new ArrayList<Set<Integer>>(); 
private Node left; // the node that can point to the left 
private Node right; // the node that can point to the right 
public Node(){ 
    this.leaf = new ArrayList<Set<Integer>>(); 
    left = null; 
    right = null; 
} 
또한

, System.out.println(value);System.out.println(temp); 수 없습니다 정말 이상하게 인쇄됩니다.

또한 이터레이터 코드를 if((int)temp.toArray()[0]%2 == 0)으로 변경하면 여전히 작동하지 않습니다.

나는 List<Set<Integer>> insert_list이고 다음과 같은 속성을 가지고 있습니다 : [[1, 15], [1, 58], [1, 274], [1, 326], [58, 15], [274, 15], [326, 15], [274, 58], [326, 58], [274, 326]]. 원하는 출력은 의 경우 [[274, 15], [326, 15], [274, 58],[326, 58], [274, 326]]이고 right.leaf의 경우 [1, 15], [1, 58], [1, 274], [1, 326]]이어야합니다.

그런데이 코드를 주 기능에서 테스트했는데 효과가있었습니다. 왜 이런 식으로 작동하지 않았는지 전혀 알 수 없습니다.

미리 감사드립니다.

편집 :

내 함수의 출력은 : 당신은 메소드 인수 혼동

[] 
[] 
+0

우리에게 어떤 스택 추적을 보여주십시오 ... :) – MordechayS

+0

@MordechayS 내 출력에 스택 추적이 없습니다. '''left.leaf''와''right.leaf''에 대한 출력 결과가 단지''[]'''''''']'''' – BigD

+0

' .out.print 출력 또는 단계별 디버거? – MordechayS

답변

2

- 해당 지역의 VAR와 트란 - insert_list합니다. 당신이 작성하는 의도

은 다음과 같습니다

for(int i = 0; i < tran.size(); i++){ 
    Set<Integer> temp = tran.get(i); 

당신이 삽입 목록이 필요합니까 무엇입니까? 그것은 중복 것으로 보인다

+0

입니다. 고맙습니다! – BigD

+0

처음에는 모든''''ArrayList''' 매개 변수를 초기화해야한다고 생각합니다 ... 내가 틀렸어. – BigD

+0

행운을 환영합니다. – aviad

관련 문제