ArrayList のように HashMap をループできますか? したがって、 Person のクラスがある場合:
public class Person
{
private String name;
private int age;
public Person(String name, int age)
{
this.name = name;
this.age = age;
}
public String getName()
{
return name;
}
public int getAge()
{
return age;
}
}
次に、メンバーシップのクラスがあり、配列リストを使用して、名前が繰り返されないようにすることができます。
import java.util.ArrayList;
public class Memberships
{
private ArrayList<Person> members;
public Memberships()
{
ArrayList<Person> members = new ArrayList<Person>();
}
public void addMember(String name, int age)
{
Person p = new Person(name, age);
for (Person membs : members)
{
if (membs.getName().equals(name) && membs.getAge()==age)
{
return;
}
}
members.add(p);
}
}
ただし、名前と年齢の代わりにハッシュ マップを使用する場合:
HashMap<String, Integer> members = new HashMap<String, Integer>();
そして、同じことをしたかったのですが、名前と年齢が別のケースと同じではないことを確認したいのですが、ループを使用して確認できますか?
public class Memberships
{
private HashMap<String, Integer> members;
public Memberships()
{
members = new HashMap<String, Integer>();
}
public void addMember(String name, int age)
{
members.put(name, age);
}
}
私はこれが少し奇妙な方法であることを知っています.HashMapsを理解しようとしているだけです.
わかりましたので、次のように変更しました。
HashMap<Person, ID> members = new HashMap<Person, ID>();
そして、私はしたかった:
public void addMember(String name, int age)
{
Person p = new Person (name, age);
members.put(p, id);
//**Say the id is a randomly generated number, that I don't really care about now
}
人物 p の名前と年齢がメンバー ハッシュマップ内の別の人物と同じでないことを確認するにはどうすればよいですか?