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]]
이어야합니다.
그런데이 코드를 주 기능에서 테스트했는데 효과가있었습니다. 왜 이런 식으로 작동하지 않았는지 전혀 알 수 없습니다.
미리 감사드립니다.
편집 :
내 함수의 출력은 : 당신은 메소드 인수 혼동
[]
[]
우리에게 어떤 스택 추적을 보여주십시오 ... :) – MordechayS
@MordechayS 내 출력에 스택 추적이 없습니다. '''left.leaf''와''right.leaf''에 대한 출력 결과가 단지''[]'''''''']'''' – BigD
' .out.print 출력 또는 단계별 디버거? – MordechayS