基于实现HashMap,我得到了一个测试驱动的开发问题(我需要使它基于提供的junit方法工作)使用键的字符串和ArrayLists的值。关键需要能够支持一个或多个相应的值。我需要设置我的方法,以便可以从散列中增加或减少值,然后查看散列的更新内容。我的努力是从下面显示的单元方法(执行myClass和它的addingMethod方法)中获取信息并将它正确地放入哈希中。HashMap <String,ArrayList>,使用基于密钥的新值追加ArrayList
void add() {
myClass = new MyClass("key1", "value1");
myClass.addingMethod("blargh", "blarghvalue");
myClass.addingMethod("blargh2", "uglystring");
myClass.addingMethod("blargh", "anotherstring");
//and so on and so on............
对于我的最终结果是,当我打印出来myClass的结果,我需要看的东西,如: {blargh = [blarghvalue,anotherstring],blargh2 = uglystring}
我需要能够添加到此,并删除值。
我很新的java收藏(显然)。如果他们只有1对1关系,并且散列映射为1:1,我可以使事情发挥作用。所以有一个非常简单的addingMethod这样的:
public void addingMethod(String key, String value) {
hashMap.put(key, value);
会得到一串字符串HashMap的,当然,如果我再与新的键值对的键,原来的键值就会被踩踏而消失。当谈到动态处理hashmaps和arraylists时,除了1:1的关键:价值关系之外,我迷了路。
为什么人们不断链接到番石榴版本3的文档?我们现在13岁了。 –
@LouisWasserman:因为他们是第一个用google搜索例如'Java Guava Multimap'的命中,所以很容易错过。 – Keppil
让我说,作为一名java总新手,这是一个很棒的发现(尽管肯定会给所有的兽医一个给定的)。非常感谢你,我只是保存了几行代码而且很头痛。虽然我想弄清楚实现它的'其他'方法,以加强我的Java基础。 – Benny