【问题标题】:ArrayList in HashMap using a method in JavaHashMap中的ArrayList使用Java中的方法
【发布时间】:2013-12-10 23:28:24
【问题描述】:

我有一个以 ArrayList 作为值的 HashMap:

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?

【问题讨论】:

  • String不是key,ArrayList不是要检索的对象吗?
  • 你到底想传递什么给方法?是测试吗?那是不行的。

标签: java methods map arraylist hashmap


【解决方案1】:

如果你查看Javadoc,你可以看到HashMap有一个名为values()的方法

因此您可以检索这些值并且只需要对其进行迭代。

编辑:Java 数组和列表的起始索引为 0。

【讨论】:

    【解决方案2】:

    您的方法接受 ArrayList 参数,但您试图传递 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);
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-01-01
      • 2014-12-27
      • 2011-01-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-02
      相关资源
      最近更新 更多