动态添加不同的整数集

时间:2015-10-30 03:33:17

标签: java set

我正在编写一个程序,用户使用以下格式添加一组带有名称和一组值的数字:

示例:

添加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>();

但我知道这是不可能的。因此,我不能为每个集合设置唯一的变量名称,当我想为它们添加数字时如何区分创建的集合?

2 个答案:

答案 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*);