简体   繁体   English

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

[英]Java Arraylist change one attribute value in all objects at the same time

I have a model with this attribute我有一个具有此属性的模型

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;
}

In here I get all values to Arraylist using this model在这里,我使用此模型将所有值获取到 Arraylist

List<Audit> auditList

My list is "auditList", It contains Audit objects, In this auditList I want to chnge one attribute for ex: I want to change userId value to "3" in all objects, How can I do it once, Is there any solution please Help Me我的列表是“auditList”,它包含 Audit 对象,在此 auditList 中我想更改一个属性,例如:我想将所有对象中的 userId 值更改为“3”,我该怎么做一次,请问有什么解决方案吗帮我

Using Java 8 Stream:使用 Java 8 流:

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

It corresponds to:它对应于:

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

You will need to iterate through all elements and update您将需要遍历所有元素并更新

for (Audit aud : auditList) {

    aud.setUserId(3);

}

If you want it on one line then如果你想把它放在一条线上

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM