java - 遍历集

扫码查看

我创建两个类。第一个(称为Class1)具有一个私有属性:价格。第二个(称为Class2)需要具有Class1的一组对象:

我的代码:

private HashSet set = new HashSet<Class1>();


目标是在Class2中创建一个方法,该方法将int作为参数,并通过对象进行检查,直到找到一个价格等于给定参数值的对象。它需要返回对象。例如,我想找到一个价格为500的对象,因此我调用了函数check(500),它恰好返回了价格为500的对象。我该怎么做?



我的代码:

  public Class1 check(int p)
    {
     Class1 c = new Class1(p);
     Iterator it = set.iterator();
     while(it.hasNext())
     {
     // HERE IS THE HELP NEEDED. Using an array it
     // would be sth like if(element[i].price == p)
     // but I need to use set
      if()
      {}
    it.next();


    }

最佳答案

您可以这样操作-但是您需要访问price才能进行比较。如果价格本身是私密的,那么应该有一个吸气剂,我在解决方案中会假设这一点。

public Class1 check(int p) {
    for (Class1 c : set) {
        if (c.getPrice() == p) return c;
    }
    return null; // none found
}

09-25 18:49
查看更多