gpt4 book ai didi

java - 如何返回数组列表迭代器? ( java )

转载 作者:行者123 更新时间:2023-11-30 07:19:01 24 4
gpt4 key购买 nike

我是java编程新手。我搜索了几篇与迭代器相关的帖子,但仍然不知道如何做到这一点。

我有两个类。 订单订单项目。我需要实现接口(interface)Iterable<OrderItem>能够使用 for-each 循环迭代项目。

public class OrderItem {
private Product product;
private int quantity;

public OrderItem(Product initialProduct, int initialQuantity)
{
this.product = initialProduct;
this.quantity = initialQuantity;
}
public Product getProduct()
{
return this.product;
}

public int getQuantity()
{
return this.quantity;
}

这是订单类

import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

public class Order implements Iterable<OrderItem> {

private List<OrderItem> items = new ArrayList<OrderItem>();

public Order()
{
}

public void addItem(OrderItem orderitem)
{
items.add(orderitem);
}

public Iterator<OrderItem> iterator()
{
return this.iterator(); //How to do this part??
}

public int getNumberOfItems()
{
return items.size();
}
}

这里What does it mean to return an iterator? Java建议像我了解链表那样做。但我现在正在使用ArrayList。我不需要这样做吗?或者我也这样?

最佳答案

您可以在此处从 OrdemItem 列表中获取迭代器:

private List<OrderItem> items = new ArrayList<OrderItem>();

然后做:

public Iterator<OrderItem> iterator()
{
return items.iterator();
}

而不是做

public Iterator<OrderItem> iterator()
{
return this.iterator(); //How to do this part??
}

关于java - 如何返回数组列表迭代器? ( java ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37910401/

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