无法将元素(集)添加到arraylist中

时间:2016-10-24 16:16:39

标签: java 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]]left.leaf[1, 15], [1, 58], [1, 274], [1, 326]]的所需输出应为right.leaf

顺便说一下,我在main函数中测试了这些代码并且它有效,我完全不知道它为什么不能以这种方式工作。

提前致谢!

修改

我的功能输出是:

[]
[]

1 个答案:

答案 0 :(得分:2)

您将方法arg - tran与您的本地var - insert_list混淆。

你打算写的是:

function getReportFormGeneratorPath() {
  var formPath = $('#reportForm').attr('action');
  var newPath = $("#basePath").val() + formPath;
  return newPath;
}

你需要什么插入列表?这似乎是多余的