Java 如何在一次迭代中更新依赖于所有数组元素的数组元素字段?

Java 如何在一次迭代中更新依赖于所有数组元素的数组元素字段?,java,Java,我有一个ArrayList的Offer对象: public class Offer { String offerId; String offerType; //Can be REGULAR or FASTTRACK String ticketId } 例如,如果我发送购买两个优惠的请求,响应中的ticketId应该是, 问题是,我必须首先迭代所有报价以生成ticketId,因为ticketId是offerId+offerType的逗号分隔字符串,即它取决于数组的所有元素

我有一个
ArrayList
Offer
对象:

public class Offer {
    String offerId;
    String offerType; //Can be REGULAR or FASTTRACK
    String ticketId
}
例如,如果我发送购买两个优惠的请求,响应中的ticketId应该是

问题是,我必须首先迭代所有报价以生成ticketId,因为
ticketId
是offerId+offerType的逗号分隔字符串,即它取决于数组的所有元素。然后我必须再次迭代报价,在每个
报价
对象中填充相同的
ticketId


有没有一种方法可以在一次迭代中做到这一点?

我认为将
ticketId
存储在
Offer
中没有意义


但是对于您的问题,您可以使用包含
字符串的包装器对象
ticketId
,并在
报价中存储对所述包装器的引用。在遍历
优惠
s并生成
ticketId
后,您可以将其存储在包装器中,所有
优惠
s都可以通过其包装器引用访问它。

所有优惠的票证id是否相同?@yogespatil No,个人报价的ticketId取决于他们的offerId和offerType。实际上,这不是确切的问题。我尽量减少了我的问题陈述,但问题或多或少与此相同。:)但是接下来我必须使用
offer.wrapper.ticketId
来引用
ticketId
对吗?是的,但是在Java中,使用getter和setter方法来访问类的变量是很重要的。使用这种技术,您可以向类的调用方隐藏它是一个包装器的事实。您更新了什么?是的,我知道getter和setter。我只是用点来让它可读。