我正在编写一个程序,用户使用以下格式添加一组带有名称和一组值的数字:
示例:
添加set1:{1,3,5,7}
我要提取名称(set1),并将其传递给新的Set。然后将数字添加到集合中。
通常情况下,只需制作一个新的Set并添加数字即可。例如:
Set<Integer> newSet = new Set<Integer>();
newSet.add(1);
newSet.add(3);
newSet.add(5);
newSet.add(7);
我的困惑在于,每次用户添加带有新名称的新集时,都需要一个唯一的变量名,但我不能在我的代码中动态更改它。
例如,如果用户发出命令
add set1:{1,3,5,7}
理想情况下,我可以这样做:
Set<Integer> set1 (variable name taken from user input) = new Set<Integer>();
但我知道这是不可能的。因此,我不能为每个集合设置唯一的变量名称,当我想为它们添加数字时如何区分创建的集合?
答案 0 :(得分:0)
您可以使用集合名称作为键来使用集合映射:
Map<String, Set<Integer>> map = new HashMap<String, Set<Integer>>();
答案 1 :(得分:0)
也许HashMap会起作用?
HashMap<String, Set<Integer>> sets = new HashMap<String, Set<Integer>();
您可以将所有整数加载到集合中。然后你用
将它们加载到地图中sets.put(*somestring*, *aset*);
然后用
检索sets.get(*somestring*);