迭代实例变量的ArrayList

Emi*_*ong 4 java

我想知道如何遍历以下Arraylist.

public class FruitHandler {

    private ArrayList<Fruits> fruit;
    private ArrayList<Integer> fruitUID= new ArrayList<>();

    public static FruitHandler getInstance() {
            return instance;
    }

    public void addFruit(Fruit fruit) {
        this.fruitUID.add(fruit.getfruitUID());
        this.fruit.add(fruit);
    }
}
Run Code Online (Sandbox Code Playgroud)

我想要做的是遍历fruitUID并返回存储在ArrayList<Fruits> fruit其中的水果类的实例与我给定的UID匹配.

例如,我有一个fruitUID = 10,我希望得到存储在ArrayList<Fruits> fruit其中的水果类实例的引用fruitUID = 10.

Jas*_*son 5

如果你想检索一个Fruit给定fruitUID 的实例,那么你可能想要一个Map<Integer, Fruit>.

您还可以拥有一个Fruit实例列表,并使用流和过滤器来查找具有指定fruitUID的单个实例.

如果绝对必须使用两个列表,则需要找到指定的fruitUID的索引,并Fruit从同一索引的另一个列表中提取.

编辑:如果您想使用地图:

private Map<Integer, Fruits> fruits = new HashMap<>();

public void addFruit(Fruit fruit) {
    fruits.put(fruit.getfruitUID(), fruit);
}

public Fruit findFruit(Integer fruitUID) {
    return fruits.get(fruitUID);
}
Run Code Online (Sandbox Code Playgroud)