大家好我正在制作库存程序,我遇到了stockItem删除方法的问题。我希望它删除给定索引处的项目并返回已删除的项目。如果索引无效,则返回null。
到目前为止,这是我的代码。请滚动到底部查看我在说什么。
import java.util.ArrayList;
public class Inventory {
private ArrayList<StockItem> stock;
public Inventory() {
stock = new ArrayList<StockItem>();
}
public void addStockItem(StockItem item) {
stock.add(item);
}
public int size() {
return stock.size();
}
public String toString() {
String result = "";
for(StockItem item: stock)
result+=item.toString()+"\n";
return result;
}
public boolean isValidIndex(int index) {
return index >=0 && index < stock.size();
}
public StockItem getItem(int index) {
if (index < 0 || index >= this.stock.size()){
return null;
}
return this.stock.get(index);
}
/**
*
* @param index
* @return null if index is invalid, otherwise
* remove item at the given index and return the
* removed item.
*/
public StockItem remove(int index) {
return null; //I need to do this part
}
}
答案 0 :(得分:0)
您需要迭代列表中的所有项目,当您找到需要删除的项目的匹配项时,您可以删除该特定项目..
迭代该列表的for循环并比较......
答案 1 :(得分:0)
可能是这样的:
/**
*
* @param index
* @return null if index is invalid, otherwise remove item at the given
* index and return the removed item.
*/
public StockItem remove(int index) {
if (index >= 0 && index < stock.size()) // check if this index exists
return stock.remove(index); // removes the item the from stock and returns it
else
return null; // The item doesn't actually exist
}
使用object删除一个示例:
public boolean remove(StockItem item) {
if (item != null && stock != null && stock.size() != 0)
return stock.remove(item);
else
return false;
}
答案 2 :(得分:0)
使用已声明的方法代码可以是这样的:
public StockItem remove(int index) {
// if the index is valid then remove and return the item in given index
if(isValidIndex(index)){
return this.stock.remove(index);
}
//return null otherwise
else{
return null;
}
}
ArrayList中的remove方法删除给定索引处的项目并返回已删除的项目。请阅读ArrayList的文档以获取更多信息。