【发布时间】:2013-12-23 02:56:53
【问题描述】:
这是一个简单的问题, 我有一个简单的 HashMap,我想反转它的键和值。
HashMap<Character, String> myHashMap = new HashMap<Character, String>();
myHashMap.put('a', "test one");
myHashMap.put('b', "test two");
我想创建一个新的 HashMap,在其中放置对立面。
HashMap<String, Character> reversedHashMap = new HashMap<String, Character>();
e.g. Keys "test one" & "test two" and values 'a' & 'b'.
【问题讨论】:
-
简单的问题,简单的答案。你能告诉我们你卡在哪里了吗?
-
首先你必须确保你的价值观是独一无二的。否则应该是
Map<String, List<Character>> -
好吧,我对 JAVA 还很陌生,不知道从哪里开始......它们都是独一无二的,是的
-
这并不总是可以做到不丢失数据。想象一下你有这个:a -> test one; b -> 测试二; c -> 测试一个(在你的第一张地图中)。您将在第二张(输出)地图中得到什么?像这样:测试一个-> a(或c);测试二-> b。所以第一张地图有 3 个条目,第二张地图只有 2 个。