java - 一个方法如何可以有不同数量的参数?

标签 java dictionary hashmap set hashset

我正在尝试使用 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/

相关文章:

python - 持久字典,其中键可以是任何可哈希的

java - 强制停止我的包后,Android 正在终止我的前台服务

java - 如何在Java中进行文本框空验证

dictionary - 我在哪里可以下载 ispell *.dict 和 *.affix 文件?

c++ - 我可以使用成员变量作为 hash_set/hash_map 的键吗?

java - 添加新的键值对替换 Java HashMap 中的所有值

java - 哈希码实现的变化如何影响哈希集

java - 队列为空故障排除

java - 通过 Microsoft Exchange 发送电子邮件

python - 从列表中取出一个字典