如何在列舉的幫助下過濾我的“StorageManager”在他的 LinkedList 中名為“items”串列的專案?受此過濾器影響的專案需要復制到新的 LinkedList 中。我已經設法使用 buyNewItem() 將專案添加到存盤管理器串列中,但在第二個任務中需要幫助。
如果我忘記添加一些重要資訊,請告訴我。
編輯:唯一允許的進口是
匯入 java.util.Arrays;
匯入 java.util.LinkedList;
編輯 2:我忘記了專案類,所以在這里
公共抽象類專案{
private double price;
private int ID;
private LinkedList<Allergen> allergenes;
public Item(double price,int ID) {
super();
this.price = price;
this.ID = ID;
this.allergenes = new LinkedList<Allergen>();
}
public double getPrice() {
return price;
}
public void setPrice(double price) {
this.price = price;
}
public int getID() {
return ID;
}
public void setID(int iD) {
ID = iD;
}
public LinkedList<Allergen> getAllergenes() {
return allergenes;
}
public void setAllergenes(LinkedList<Allergen> allergenes) {
this.allergenes = allergenes;
}
}
提前致謝!:)
public class StorageManager extends Employee {
private LinkedList<Item>items;
public LinkedList<Item> getItems() {
return items;
}
public void setItems(LinkedList<Item> items) {
this.items = items;
}
public boolean buyNewItem(Item item) {
boolean IstDA = false;
for ( Item item1 : items) {
if(item1.equals(item)) {
this.items.add(item);
IstDA = true;
break;
}
}if(IstDA == false) {
System.out.println("Ist bereits im Warenkorb");
}
}
public static LinkedList<Allergen> filterStorage(filter Allergen){
if (this.items.contain(Allergen)){
我的列舉串列:
NUTS,PEANUTS,SOYBEANS,GLUTEN,FISH,MILK,EGGS;
uj5u.com熱心網友回復:
看起來你不能使用流,所以一個簡單的for回圈就可以了。簽名filterStorage看起來不對,所以我修改了它。
public LinkedList<Item> filterStorage(Allergen filter)
{
LinkedList<Item> newList = new LinkedList<>();
for (Item item1 : items) {
if (item1.getAllergenes().contains(filter)) {
newList.add(item1);
}
}
return newList;
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/375483.html
