如何在java中的ArrayList中将新值设置到现有对象中

时间:2016-10-23 16:57:20

标签: java arraylist

我仍然是Java的新手,我试图将特定字段的新值设置为arraylist中的现有对象。 我有一节课:

public class Client 
private String firstName;
private String lastName;

//skip setters and getters

我使用

将对象添加到arraylist
listOfClients.add

现在我想只更新一个现有对象中的lastName。要使用Arraylist的索引选择所有对象中的一个,但仍然不知道如何仅更新这一个特定值。到目前为止,我已经尝试了

listOfClients.set

但它并没有顺利进行。 任何人都可以告诉我是否有任何方法只更新我的对象中的一个特定字段?

4 个答案:

答案 0 :(得分:0)

由于您知道索引,因此可以尝试listOfClients.get(index).setLastName("value")

listOfClients.get(index)获取对象。然后你可以用它的setter方法设置任何值。

答案 1 :(得分:0)

找到值的索引并使用以下命令设置:list.set(index_of_the value_to change,“value_to_update”);

以下是您在此处更新牛值的问题示例:

ArrayList nums = new ArrayList<>();

    nums.add("Rat");
    nums.add("cow");
    nums.add("rabbit");
    System.out.println(nums);

    nums.set(1, "updated");
    System.out.println(nums);

答案 2 :(得分:0)

public class Test {
public static void main(String[] args) {

List<Client> clientList=new ArrayList<Client>();

Client c1=new Client();
c1.setFirstName("First");
c1.setLastName("FirstLast");

clientList.add(c1);
System.out.println("First: "+clientList.get(0).getFirstName() +"-"+         clientList.get(0).getLastName());
//Modify by setter

clientList.get(0).setLastName("ModifyLast");

System.out.println("After"+clientList.get(0).getFirstName() +"-"+ clientList.get(0).getLastName());

}

public static class Client{
    private String firstName;
    private String lastName;

    public String getFirstName() {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }
}

}

答案 3 :(得分:0)

您应该使用列表的get方法。

  

get方法返回此处指定位置的元素   列表。

按如下方式使用:

listOfClients.get(clientIndex).setFirstName(newFirstName);