Java Arraylist同时更改所有对象中的一个属性值

时间:2017-08-01 06:38:26

标签: java arraylist

我有一个具有此属性的模型

public class Audit extends BaseModel implements Comparable {
@Column
@PrimaryKey
@SerializedName("audit_id")
private int id;

@Column
@SerializedName("address_line_1")
private String addressLine1;

@Column
@SerializedName("address_line_2")
private String addressLine2;

@Column
@SerializedName("city_name")
private String city;

@Column
@SerializedName("zip_code")
private String zipcode;

@Column
@SerializedName("company_id")
private int companyId;

@Column
@SerializedName("company_name")
private String companyName;

@Column
@SerializedName("loc_name")
private String location;

@Column
@SerializedName("inspection_date_time")
private OffsetDateTime inspectionTime;

@Column
@SerializedName("inspection_number")
private String inspectionNumber;

@Column(defaultValue = "0")
private int auditStatus;

@Column(defaultValue = "0")
private int userId;

public int getId() {
    return id;
}

public String getAddressLine1() {
    return addressLine1;
}

public String getAddressLine2() {
    return addressLine2;
}

public String getCity() {
    return city;
}

public String getZipcode() {
    return zipcode;
}

public int getCompanyId() {
    return companyId;
}

public String getCompanyName() {
    return companyName;
}

public String getLocation() {
    return location;
}

public OffsetDateTime getInspectionTime() {
    return inspectionTime;
}

public String getInspectionNumber() {
    return inspectionNumber;
}

public void setId(int id) {
    this.id = id;
}

public void setAddressLine1(String addressLine1) {
    this.addressLine1 = addressLine1;
}

public void setAddressLine2(String addressLine2) {
    this.addressLine2 = addressLine2;
}

public void setCity(String city) {
    this.city = city;
}

public void setZipcode(String zipcode) {
    this.zipcode = zipcode;
}

public void setCompanyId(int companyId) {
    this.companyId = companyId;
}

public void setCompanyName(String companyName) {
    this.companyName = companyName;
}

public void setLocation(String location) {
    this.location = location;
}

public void setInspectionTime(OffsetDateTime inspectionTime) {
    this.inspectionTime = inspectionTime;
}

public void setInspectionNumber(String inspectionNumber) {
    this.inspectionNumber = inspectionNumber;
}

@Override
public int compareTo(@NonNull Object audits) {
    int result = -1;
    if (audits instanceof Audit) {
        Audit audit = (Audit) audits;
        if (this.getInspectionTime().isEqual(audit.getInspectionTime())) {
            result = 0;
        } else if 
 (this.getInspectionTime().isAfter(audit.getInspectionTime())) {
            result = 1;
        }
    }
    return result;
}

public int getAuditStatus() {
    return auditStatus;
}

public void setAuditStatus(int auditStatus) {
    this.auditStatus = auditStatus;
}

public int getUserId() {
    return userId;
}

public void setUserId(int userId) {
    this.userId = userId;
}

在这里,我使用此模型获取Arraylist的所有值

List<Audit> auditList

我的列表是“auditList”,它包含Audit对象,在这个auditList中我想要一个属性 例如:我想在所有对象中将userId值更改为“3”,我该怎么做一次,有没有解决方案请帮帮我

2 个答案:

答案 0 :(得分:4)

使用Java 8 Stream:

auditList.stream().foreach(elt -> elt.setUserId(3));

它对应于:

for (Audit aud : auditList) {
    aud.setUserId(3);
}

答案 1 :(得分:3)

您需要遍历所有元素并更新

for (Audit aud : auditList) {

    aud.setUserId(3);

}

如果你想要一行,那么

for (Audit aud : auditList) aud.setUserId(3);