gpt4 book ai didi

java - Java迭代器存储对象

转载 作者:行者123 更新时间:2023-12-01 11:33:23 24 4
gpt4 key购买 nike

我需要使用迭代器存储对象,但我只找到最后一个元素,你觉得怎么样?

if (links.size()>0) {
for (Iterator<Link> iterator = links.iterator();
iterator.hasNext();) {
Link link = (Link) iterator.next();
item.setLink(link);
objects.add(item);
}
}

objects中,我传递给item并且找到了最后一个链接,那么我应该做什么?这个想法是否有效 item.setLink( list of links);

最佳答案

很难说出您想要实现的目标,因为代码有几个问题:

  • 您在每次迭代中设置类对象中的链接,这就是为什么只保留最后一个元素(这是假设 .setLink() 方法内部没有执行任何奇怪的操作)
  • 如果您的对象集合(是集合吗?)是一个 Set,并且项目 hashCode 方法根据链接值计算其值,则只有您的元素会被替换

这只是猜测,但也许这就是您想要做的?

for (Link link : links) { // works only if your collection is properly typed
MyClass item = new MyClass();
item.setLink(link);
objects.add(item);
}

其他一些建议:

  • 使用增强的 for 循环(如上所示)
  • if (links.size()>0) { 行是多余的——如果集合为空,你的循环将不执行任何操作

关于java - Java迭代器存储对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30236247/

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