Vector <customer> C ++,List <customer>&amp; Vector <customer> Java </customer> </customer> </customer>

时间:2012-09-02 18:52:06

标签: java list vector

我在大学里学习了这段代码,同时学习了C ++ ..后来我在C#中使用了同样的东西......但现在我想在Java中使用它......我已经在互联网上寻找类似的东西,但我甚至没有怎么说出来,所以我得到了正确的结果。

所以嗯,请让我知道如何做到这一点是在JAVA,也让我知道这是什么叫做???我知道它做了什么..但我不知道它是如何做到的......所以也要介意解释它......

C ++与下面的内容相同,只有一个DIFFERENCE看下面

C# if (Customers[i].delExecute(delIn) == true)

C++ if (Customers[i]->delExecute(delIn) == true)

Java ?? if (????????????????????????????????)

所以我在这里生病尽力解释。 C#

Class called Customer with custId etc etc

List<Customer> Customers = new List<Customers>

    public void delCust(int delIn)
    {
        for (int i = 0; i < Customers.Count(); i++)
        {
            if (Customers[i].delExecute(delIn) == true)
            {
                Customers.Remove(Customers[i]);
                break;
            }
        }
    }

bool delExecute(int delInput) {
    if (custId == delInput) {
        return true;
    }
    return false;
}

好的,所以上面的代码可以正常工作

现在我想要和JAVA一样......任何人都有任何想法如何?

2 个答案:

答案 0 :(得分:6)

if (Customers.get(i).delExecute(delIn))
顺便说一下,没有必要明确说出== true

答案 1 :(得分:2)

在Java中,Vector是一个过时的类,你应该避免使用它。相反,您应该使用ArrayList。无论哪种方式,两者都是List,因此为随机访问实施get

您可以按照以下方式实施您尝试的内容......

if (customers.get(i).delExecute(delIn))

请注意,== true是多余的,因为它实际上是一种身份(true == truetruefalse == truefalse)。您还应该避免使用Java中的大写字段名称。

现在,还有一种首选方法来执行您尝试使用Iterator的内容。

private List<Customer> customers = new ArrayList<Customers>();

public void delCust(int delIn) {
  final Iterator<Customer> cursor = customers.iterator();
  while (cursor.hasNext()) {
    if (cursor.next().delExecute(delIn)) {
      cursor.remove();
      break;
    }
  }
}

......加上:

boolean delExecute(int delInput) {
  return custId == delInput;
}