我正在尝试使用 HashMap ,其中键是人名,String
值是 HashSet
包含他们最喜欢的食物类型:
这就是我想出的:
public void addMapEntry(string1, string2, string3)
{
favFood = new HashSet<>();
favFod.add(string1);
favFod.add(string2);
favFod.add(string3);
}
这感觉非常笨重,根本不是一个好方法,如果最喜欢的食物少于 3 种怎么办?或更多?
更优雅的方法是什么?
最佳答案
使用 varargs 在这种情况下可能是最好的。
The varargs allows the method to accept zero or multiple arguments.
public void addMapEntry(String key, String... foods)
{
...
...
favFood = new HashSet<>();
for (String item : foods) {
favFood.add(item);
}
...
...
}
或者,您可以创建一个 ArrayList
,将所有字符串添加到其中,然后将其传递到 addMapEntry
方法。
关于java - 一个方法如何可以有不同数量的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43746351/