【发布时间】:2014-08-18 03:58:10
【问题描述】:
我今天面试,面试官问我如何在 HashMap 中存储多个具有相同键的值? 她给了我这个例子-->如果给我一个字符串列表,我想将字符串的长度存储为键,将字符串本身存储为值。
我给了她以下关于我将如何使用 HashMap 的解决方案:
Map<Integer, ArrayList<String>> map = new HashMap<Integer, ArrayList<String>>();
整数是字符串的长度,ArrayList 将存储该特定长度的字符串。
面试官说这是使用 HashMap 的一种方式,但还有另一种方式我不需要 ArrayList 或任何其他数据结构。在面试时,我想不出任何解决方案,现在经过足够的谷歌搜索,我仍然一无所获。谁能告诉我如何解决这个问题?
谢谢!
【问题讨论】:
-
HashMap根据定义,每个键都有一个值...不太清楚面试官的意思。 -
@user3580294:这就是我告诉她的......但她告诉我,对此有一个非常基本的概念性答案......
-
你可以使用什么?她是在谈论 hashmap 数据结构的概念吗?
-
@Amir:只是一个简单的 HashMap..
-
好吧,考虑到Map javadoc 说“一个映射不能包含重复的键;每个键最多可以映射到一个值。”,我认为面试官是他/她的摇杆。编辑:或者也许只是在寻找一个无用的解决方案