Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在集合中查找元素并添加到ArrayList_Java_Arraylist_Set - Fatal编程技术网

Java 在集合中查找元素并添加到ArrayList

Java 在集合中查找元素并添加到ArrayList,java,arraylist,set,Java,Arraylist,Set,供参考: 类别产品 班级商店 类购物车 我有一个商店(集合)有产品(itemNumber,Price),现在我想使用itemNumber搜索一个产品,并将此产品添加到购物车(ArrayList)。为此,我必须创建一个名为find product的方法。我尝试过但无法完成的事情: 使用for循环尝试查找产品并将其添加到购物车(不确定==或等于是否正确): 遍历集合以查找产品 public void findProduct(int itemNumber) {for(Iterator<Prod

供参考: 类别产品
班级商店
类购物车

我有一个商店(集合)有产品(itemNumber,Price),现在我想使用itemNumber搜索一个产品,并将此产品添加到购物车(ArrayList)。为此,我必须创建一个名为find product的方法。我尝试过但无法完成的事情:

  • 使用for循环尝试查找产品并将其添加到购物车(不确定==或等于是否正确):

  • 遍历集合以查找产品

    public void findProduct(int itemNumber)
    {for(Iterator<Product> it = products.iterator(); it.hasNext();)
    {Product p = it.next(); 
    if (p.equals(new Product()))
    //add this product}}
    

  • 我试着用谷歌搜索是否可以将集合中的元素添加到ArrayList,或者是否可以在集合列表中找到特定的元素,但找不到任何足够具体的内容来帮助我。所以我想知道,一旦我设法完成了这些任务,它们中的任何一个是否真的能起作用

    您的第一种方法既简单又有效,但您需要更多的控制:

    public void findProduct(int ItemNumber){
       for (Product item : item ) {
          if (item.getItemNumber() == itemNumber){
             cart.add (item)
             break; //to leave the loop once it's found
       }
    

    cart是您的阵列列表

    您的第一个版本是可能的。但是您的for-each循环将不起作用:

    public void findProduct(int itemNumber){
       for (Product item : shop) {
          if (item.getItemNumber() == itemNumber){
             cart.add(item)
             break;
       }
    

    cart
    是您的列表,
    shop
    是您的套装。

    也许merhod
    findProduct
    应该返回一些东西(而不是void)?
    public void findProduct(int ItemNumber){
       for (Product item : item ) {
          if (item.getItemNumber() == itemNumber){
             cart.add (item)
             break; //to leave the loop once it's found
       }
    
    public void findProduct(int itemNumber){
       for (Product item : shop) {
          if (item.getItemNumber() == itemNumber){
             cart.add(item)
             break;
       }