【发布时间】:2026-02-09 10:45:01
【问题描述】:
我有 2 个班级 Gym 和 gymMember。目前 Gym 将所有 gymMember 存储在 HashMap gymMembers 中,其中 String 是他们的成员 ID(字符串)。
gymMember 保存变量:
this.fullName = aName;
this.address = anAddress;
this.area = anArea;
我想做的是搜索 HashMap gymMembers 以找出区域 1 中的成员存储在变量 this.area 中,然后将 gymMember 对象返回到新集合。
到目前为止,我已经做到了这一点:
public void findCustomersInArea(int x)
{
// create a list to store all Customers
List<gymMember> aMember = new ArrayList<gymMember>();
// iterate all entries in the map
for (Map.Entry<String, gymMember> a: gymMembers.entrySet())
{
// get the customer
gymMember newMember = a.getArea();
if (newMember.getArea() == x) {
// do what you need to add to a list
newMember.add(newCustomer);
}
}
}
有人知道我哪里出错了吗?
【问题讨论】:
-
您应该准确描述问题所在。另外,我强烈建议您以大写字母 (GymMember) 开头的类命名,因为带有小写字母的名称用于变量 (gymMembers)。
-
问题是代码目前没有编译,我非常不确定这是否是获得所需结果的正确方法。非常感谢:)
-
我看到的一个问题是
a.getArea()。Map.Entry类有两个 getter:getKey()和getValue()。我想你的意思是a.getValue()。此外,一旦你建立了你的aMember列表,你需要以某种方式返回它。