创建其他类的实例并将其添加到map的方法

时间:2017-03-13 16:08:15

标签: java methods maps

所以,我有这个课程:

  public class Person
{

   private String Name;
   private String address;
   private int postCode;

   public Person(String aName, String anAddress, int aPostCode)
   {
      this.Name = aName;
      this.address = anAddress;
      this.postCode = aPostCode;
   }

我有这堂课:

public class MapClass
{
   private Map<String, String> people;

   public Garage()
   {
      people = new HashMap<>();
   }

   public void addperson(String thing1, String name, String address, int area)
   {

   }
}

所以我需要一些帮助来编写'addPerson()'方法。它需要创建Person的实例并将其添加到由实例变量'people'引用的地图中,并将'thing1'作为关键。

我认为我需要使用'put'方法来做到这一点,但我真的不确定这里的语法。

感谢所有帮助。

3 个答案:

答案 0 :(得分:1)

首先将private Map<String, String>更改为private Map<String, Person>

然后您的方法将如下所示:

public void addperson(String thing1, String name, String address, int area)
   {
      people.put(thing1, new Person(name, address, area));
   }

答案 1 :(得分:0)

取代:

private Map<String, String> people;

使用:

private Map<String, Person> people;

这样,您的值类型符合此人。然后像这样实现你的方法体:

public void addperson(String thing1, String name, String address, int area)
   {
     Person person = new person(name, address, area);
     people.put(thing1, person);
   }

以下是Map

的小教程

答案 2 :(得分:0)

people.put(thing1, new Person(name, address, area));

您对人物的定义&#39;但是错了,应该是:

 private Map<String, Person> people;