2013-11-26 34 views
0

使用方法我有ArrayList的一个HashMap作为值:的ArrayList在HashMap中在Java中

HashMap <String, ArrayList<String>> Test 

    ArrayList<String> fruit = new ArrayList<>(); 
    fruit.add("bananas"); 
    fruit.add("apples"); 

    Test.put("fruit", fruit); 


    ArrayList<String> cities = new ArrayList<>(); 
    cities.add("London"); 
    cities.add("Paris"); 

    Test.put("cities", cities); 

我要访问的每个的ArrayList的第一个元素,但是使用方法。例如这样的事情:

public String getSomething (ArrayList<String> Something) { 
return (Test.get(Something)).get(1); 
} 

但是这不工作为'Something'必须是一个ArrayList。有关于此的任何想法?是否有另一种方式访问​​一个密钥的多个值的HashMap?

+3

是不是字符串的关键,和ArrayList的对象,将被检索? – hichris123

+0

你到底想要传递给方法的是什么?它是测试吗?这是一个不行。 –

回答

0

如果你看一下Javadoc,你可以看到,HashMap具有一种称为值()

所以,你可以检索值,你只需要重复就可以了。

编辑:Java数组和启动索引列表0

0

你的方法接受一个ArrayList ARG,但你试图通过HashMap。也许你想这样的事情:

public String getSomething (HashMap<String, ArrayList<String>> map, String key, int n) { 

    ArrayList<String> something = (ArrayList<String>)map.get(key); 

    return something.get(n); 
}