Java - 两个不同集合的组合

时间:2014-04-08 15:42:45

标签: java set combinations key-value

我必须有两个列表,一个名为键,例如{a,b,c,d},另一个名为值,例如{e,f,g,h},为简单起见,我只是写了元素[ad]和[eh]但实际上列表可以是任意长度,尽管两个列表的项目数量相同。(例如,键{a ... z}值{0 ... 25} )

List<Character> keys = new ArrayList<Character>();
keys.add('a');
keys.add('b');
keys.add('c');
keys.add('d');

List<Character> values = new ArrayList<Character>();
values.add('e');
values.add('f');
values.add('g');
values.add('h');

我需要逐个创建hashMaps对象,只包含所有键和所有值的一个组合,例如:一个hashMap将是

HashMap<Character,Character> keys_values = new HashMap<Character,Character>();
keys_values.put(keys.get('a'), values.get('e'));
keys_values.put(keys.get('b'), values.get('f'));
keys_values.put(keys.get('c'), values.get('g'));
keys_values.put(keys.get('d'), values.get('h'));

然后在另一个hashMap中我需要存储一个不同的组合,例如:

keys_values.put(keys.get('a'), values.get('h'));
keys_values.put(keys.get('b'), values.get('e'));
keys_values.put(keys.get('c'), values.get('f'));
keys_values.put(keys.get('d'), values.get('g'));

等等..所以对于4个项目的例子应该有4个!不同的hashMaps(我想!),每个都有一个元素的组合。

我已经考虑过做两个嵌套for循环,但是这并没有给我我想要的结果,因为我在同一个hashmap中得到了几个具有相同键的对象。

0 个答案:

没有答案