使用String作为Filter从另一个ArrayList过滤新的ArrayList

时间:2012-07-18 23:15:26

标签: arraylist filtering

在我的程序中,Die(刺绣骰子)是一个具有不同字段的类。其中一个属于String类型,称为haveIt。因此,如果程序的用户在haveIt字段上输入“是”字样,他应该能够在Dies列表中跟踪他拥有的所有myInventory的列表。

我该怎么做?我应该在myInventory类的字段和构造函数上创建ArrayList<Die> Contoller,还是应该在该类的特殊方法中构建它?

我尝试了一切,没有任何作用。但我真的很陌生。

这是我的最后一次尝试,创建了一个循环来创建新的ArrayList<Die>haveIt字段上的“是”)来自{{1}中的特殊getMyInventory方法class:

Controller

它无法编译。它告诉我结果应该是public ArrayList<Die> getMyInventory(Die anyDie) { for (int counting = 0; counting < diesBigList.Count ; counting++); { if (((Die)diesBigList[counting]).doIHaveIt.contains("Yes")) myInventory.add(diesBigList[counting]); return myInventory; } } 类型,但它被解析为Array ...(我不会说明这一点)。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您错过了一份退货声明。如果这不是真的怎么办?

if (((Die)diesBigList[counting]).doIHaveIt.contains("Yes")) 

你永远不会达到你的回报声明

以下是答案

public ArrayList<Die> getMyInventory(Die anyDie) {
 ArrayList<Die> myInventory = new ArrayList<Die>();
    for (int counting = 0; counting <  diesBigList.Count; counting++) {
        if (((Die)diesBigList[counting]).doIHaveIt.contains("Yes")) {
               myInventory.add(diesBigList[counting]);
        }   
    }
            return myInventory; 
 }

此外可能存在以下问题:diesBigList.Count我不知道你在哪里获得该对象或者它的方法是什么样的但我在我的代码中假设你正确地调用了这个对象。