我有2节课。一个包含一堆不同类型的水果上的私有哈希图(此类称为fruitStore),另一个包含抽象类,该类在其字段中包含字符串的私有ArrayList(该类称为fruitNames)。

fruitStore中HashMap的关键字是每个水果的名称,该字段是水果的信息(价格和有效期等)。

现在,我的目标是将所有键(水果名称)放入fruitNames中的ArrayList中。

到目前为止,我尝试过的是在fruitStore中创建另一个私有字符串数组,将其称为名称,然后将所有名称存储在其中。之后,我决定在fruitNames类中创建一个函数以移入所有水果名称。

所以我在fruitNames中做了以下代码

//making an object of fruit_store
private fruitStore fruit_store = new fruitStore();

void insert_fruit(ArrayList<String> fruits){
    for ( int i = 0; i < fruit_store.names.size(); i++ ){
    //here i planned to add the elements in names to the fruitList array
    }
}


但是,我有一个问题。由于ArrayList名称是私有的,并且只能在fruitStore类中访问,所以我无法在任何其他类中使用它。我唯一能想到的解决方案是公开名称,但有人告诉我不要这样做。

有人知道解决此问题的方法吗?

最佳答案

您可以在fruitStore类中创建一个为您获取大小的方法,而无需暴露整个字段

public int getSize(){
    return names.size()
}

10-01 05:12