我可以使用类的公共无效性在ArrayList中使用它来添加年龄和名称吗?

时间:2018-11-14 21:35:24

标签: java class object arraylist constructor

我是Java的新手,我正努力了解构造,类和对象。如果您觉得其中任何一项愚蠢,我深表歉意。

我的任务是创建一个ArrayList来保存Data类型的项目(我的课程)。使用.add方法-我应该添加一定数量的名称和年龄,然后输出。

我已经完成了一些工作,但是我想知道是否可以在我的ArrayList中使用类中的SetAge和SetAge之类的函数来创建一个新的人,然后像其他人一样将其一起输出。还有另一种方法吗?

感谢您的帮助和解释。

下面是我的代码;

import java.util.ArrayList;

public class workingOn {

public static void main (String[] args)
{
    Data Fred = new Data("Fred", 21);
    Data Jo = new Data("Jo", 43);
    Data Zoe = new Data("Zoe", 37);

    ArrayList<Data> myArray = new ArrayList<Data>();

    myArray.add(Fred);
    myArray.add(Jo);
    myArray.add(Zoe);

    for (Data temp : myArray) 
    {
    System.out.println(temp.toString()); 
    }


}
}

下面是我的课;

    public class Data { 

    private String name;
    private int age;

    Data(String n,int a)
    {
        name = n;
        age = a;
    }
    public String GetName()
    {
        return(name);
    }
    public void SetName(String n)
    {
        name = n;
    }
    public int GetAge()
    {
        return(age);
    }
    public void SetAge(int a)
    {
        age = a;
    }
    public void Print()
    {
        System.out.print(("("+ GetName() ));
        System.out.print(",");
        System.out.print(GetAge());
        System.out.print(") ");
    }

    //i made this so I don't output the object id
    public String toString() {
        return (name + ", " +  age);


    }
    }

1 个答案:

答案 0 :(得分:0)

通过评论,我猜您想以某种方式将setter方法(setName()和setAge())用于您设计的类。最简单的方法是:

Data d = new Data("tempName", 10);
myArray.add(d);

这基本上会创建一个Data类型的对象并将其添加到arraylist中。假设您想更改刚添加的这个人的姓名和年龄,那么您应该这样做:

myArray.get(myArray.size() - 1).setName("newName");
myArray.get(myArray.size() - 1).setAge(18);

要添加一些解释,将对象添加到arraylist时,它总是最后添加。我们使用size()方法来获取Arraylist中的对象数。由于索引从0开始,因此我们使用myArray.size() - 1。我们使用.get()方法从以数字作为参数的arraylist中检索对象,并在该索引处返回该对象。

结合这两个,我们在最后一个可能的索引处获得对象,并在其上调用setName()setAge()函数。 希望这会有所帮助。