gpt4 book ai didi

java - 无法将元素(集合)添加到数组列表中

转载 作者:行者123 更新时间:2023-12-02 03:16:24 25 4
gpt4 key购买 nike

我想将满足某些条件的集合添加到数组列表中,但无法添加。

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 .

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

提前致谢!

编辑:

我的函数的输出是:

[]
[]

最佳答案

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

您打算写的是:

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

你需要插入列表做什么?看起来多余

关于java - 无法将元素(集合)添加到数组列表中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40223017/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com