java - 如何从给定 itemNum 的 ArrayList 中删除项目?

标签 java object arraylist casting

我想删除给定用户将输入的 ItemNo 的 Item。我如何首先检查是否存在具有此 itemNo 的项目?然后我将如何删除它?下面是我目前所拥有的,我需要添加一个 CompareTo() 方法吗?

元素等级:

public class Item {

public int itemNo;
public String itemName;
public double itemPrice;
public int itemQuantity;

Item(int number, String name, double price, int quantity)
{
itemNo=number;
itemName=name;
itemPrice=price;
itemQuantity=quantity;
}

删除方法:

 public T remove(int givenPosition) {
     T result = null; 
     if ((givenPosition >= 1) && (givenPosition <= numberOfEntries)) {
     assert !isEmpty();
     result = list[givenPosition - 1]; 
     if (givenPosition < numberOfEntries)
                  removeGap(givenPosition);
               numberOfEntries--;
     } // end if
     return result; 

         } // end remove

包含方法:

 public boolean contains(T anEntry) {
     boolean found = false;
     for (int index = 0; !found && (index < numberOfEntries); index++) {
     if (anEntry.equals(list[index])) 
         found = true;
     }//end for
     return found;
     } // end contains

等于方法:

public boolean equals(Object object){
        Item item = (Item) object;
        if(itemNo == item.itemNo)
            return true;
        return false;
    }

最佳答案

好的,您正在尝试分离逻辑,但我会为您提供解决问题的代码片段。

Item item = new Item(10 , "Item1", 50 , 100);
Item item2 = new Item(20 , "Item2", 50 , 100);
Item item3 = new Item(30 , "Item3", 50 , 100);

List<Item> itemList = new ArrayList<Item>();
itemList.add(item1);
itemList.add(item2);
itemList.add(item3);

public void removeItem(int itemNo){
       Iterator<Item> it = itemList.iterator();
       while(it.hasNext){
         if(item.next().itemNo == itemNo){
            it.remove;
            break;
         }
    }
}

关于java - 如何从给定 itemNum 的 ArrayList 中删除项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29164822/

相关文章:

java - 在 Tomcat 容器中运行的 Web 应用程序是否需要关闭 ExecutorService?

java - 关于java/maven/testng的一个基本问题

java - 没有尾部字段的 LinkedList 陷入无限循环

javascript - 将多级对象文字插入数组时,值困惑

android - 数组列表中谷歌地图上的标记

javascript - 带有 JavaScript 客户端的 Java 套接字服务器

r - 如果我只知道字符串形式的对象名称,如何覆盖 R 中的对象?

javascript - 我可以在创建对象时在该对象内部保留该对象的副本吗

java - 如何更新存储在 ArrayList 中的项目? (安卓)

java - 为列表的一个子部分内的排列创建数组