Java—两个不同集合的组合
我有两个列表,一个是命名的键,例如{a,b,c,d},另一个是命名的值,例如{e,f,g,h},为了简单起见,我只写了元素[a-d]和[e-h],但实际上列表可以是任意长度的,尽管这两个列表总是有相同数量的项Java—两个不同集合的组合,java,set,combinations,key-value,Java,Set,Combinations,Key Value,我有两个列表,一个是命名的键,例如{a,b,c,d},另一个是命名的值,例如{e,f,g,h},为了简单起见,我只写了元素[a-d]和[e-h],但实际上列表可以是任意长度的,尽管这两个列表总是有相同数量的项 List<Character> keys = new ArrayList<Character>(); keys.add('a'); keys.add('b'); keys.add('c'); keys.add('d'); List<Character>
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');
等等。。因此,对于4个项目的示例,应该有4个!我想是不同的哈希图,每个元素都有一个组合
我曾考虑过做两个嵌套for循环,但这并没有给出我想要的结果,因为我在同一个hashmap中得到了几个具有相同键的对象。为什么要这样做?我不禁觉得这是一个解决潜在问题的糟糕方法。这是一个学术练习吗?假设有两项。。{1,2}和{3,4}。。那么它将是2!?我能想出这些可能性{13,14,23,24}?4的逻辑是什么!?这是学校编程作业的一部分school@sakura这就是我写作的原因:我想。我不记得产品的规则是什么,也许是4x4?
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'));
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'));