这真的让我很困惑。基本上,我想交替打印两个1d向量的元素。我发现下面附有其他人写的解决方案。
在main方法中,我们调用346
打印zigzagIterator.next()
返回的数字
在int num = iter.next()
方法中,似乎每次调用next()
方法时都会创建一个新的iter对象。但是当我调试时,我发现只创建了两个迭代器对象。一个用于a1,另一个用于a2。这样,每个迭代器对象中的光标都将其内存进行迭代直到结束。
next()
被多次调用对我来说没有任何意义,但是只创建了两个对象。希望有人能帮忙!非常感谢。
Iterator<Integer> iter = deque.pollLast()
答案 0 :(得分:1)
这是因为对象引用保持不变,同时将创建的新对象分配给2个引用(v1,v2)。因此,最后2个对象将获得2个引用,从而产生2个可用对象,而其他对象可以被垃圾回收
访问 https://docs.oracle.com/javase/8/docs/api/java/util/Objects.html