方法如何具有不同数量的参数?

时间:2017-05-02 20:06:29

标签: java dictionary hashmap set hashset

我正在尝试使用哈希地图,其中是人名StringHashSet,其中包含他们的最爱食物种类:
这就是我想出的:

public void addMapEntry(string1, string2, string3)
{  
       favFood = new HashSet<>();
       favFod.add(string1);
       favFod.add(string2);
       favFod.add(string3);
} 

这种感觉非常笨重,根本不是一个很好的方法,如果少了3个最喜欢的食物怎么办?或更多?
这样做更优雅的方式是什么?

1 个答案:

答案 0 :(得分:3)

在这种情况下,

使用 varargs 可能是最好的。

  

varargs 允许该方法接受零个或多个参数。

public void addMapEntry(String key, String... foods)
{      
       ...
       ...
       favFood = new HashSet<>();
       for (String item : foods) {
            favFood.add(item);
       }
       ...
       ...
}

或者,您可以创建ArrayList,将所有字符串添加到其中,然后将其传递到addMapEntry方法。