提问者:小点点

如何从arrayList中获取一个对象,通过匹配其中一个字段,而不是通过java中的索引


早上好。

目前我有一个名为Account的ArrayList,它有几个参数,其中有ArrayList类型的字段(attribIdenCtaUsos),我想要的是获取这个ArrayList帐户的某些参数,如图所示:

后付费账户类

@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class PostpaidAccount {

@JsonProperty("billingAccountNumber")
Integer billingAccountNumber;
@JsonProperty("accountId")
Integer accountId;
@JsonProperty("arcoID")
Integer arcoID;
@JsonProperty("initialDate")
Timestamp initialDate;
@JsonProperty("productId")
Integer productId;
@JsonProperty("platformId")
Integer platformId;
@JsonProperty("accountStatusId")
Integer accountStatusId;
@JsonProperty("accountStatusInternal")
String accountStatusInternal;
@JsonProperty("accountStatus")
String accountStatus;
@JsonProperty("internalAccountStatusDescription")
String internalAccountStatusDescription;
@JsonProperty("productName")
String productName;
@JsonProperty("marketName")
String marketName;
@JsonProperty("atribIdenCtaUsos")
private List<T_ATRIB_IDEN_CTA_USO> atribIdenCtaUsos;

T_ATRIB_IDEN_CTA_USO班

@Setter
@Getter
@AllArgsConstructor
@NoArgsConstructor
public class T_ATRIB_IDEN_CTA_USO {

    @JsonProperty("abrevt_atrib_cta_uso")
    private String abrevt_atrib_cta_uso;
    @JsonProperty("valor")
    private String valor;
    @JsonProperty("fecha_inicio")
    private String fecha_inicio;
    @JsonProperty("fecha_fin")
    private String fecha_fin;
    @JsonProperty("id_atributo_cta_uso")
    private long id_atributo_cta_uso;
}

响应Json如下所示:

现在从下面的Json中,我需要从ArrayList中提取参数IdenCtaUsos我需要提取abrevt_atrib_cta_uso字段的value字段,它的valor等于TLF,它总是这样,然而,这种情况是,这个值并不总是出现在位置1,它可以通过getIndex(1). value获得,但它可以在位置0,为此我需要一种方法来过滤ArrayList的valorabrevt_atrib_cta_uso等于TLF


共1个答案

匿名用户

如果abrevt_atrib_cta_uso的值始终是唯一的,您可以将atebIdenCtaUsos声明为Map