从HashMap中检索信息

时间:2016-02-18 14:57:07

标签: java hashmap

我定义了一个hashmap如下

HashMap<String, List<String>> hashmap = new HashMap<String, List<String>>();

我可以通过

获取其内容
Set<Map.Entry<String, List<String>>> keys = hashmap.entrySet();
for (Map.Entry<String,List<String>> entry : hashmap.entrySet()) {
    String key = entry.getKey(); 
    List<String> thing = entry.getValue();
    System.out.println (key);
    System.out.println (thing);
}

但是,我想知道:

  • 我如何将其内容检索到普通字符串?
  • 是否可以动态访问字符串? (没有做(1))我的意思是,你做string[0]等同样的方式
  • 列表的长度在哪里?

2 个答案:

答案 0 :(得分:2)

假设地图中存在String key = "str";。你可以:

int mapSize = hashmap.size(); // get the map's size
List<String> list = hashmap.get("str"); // get a list for a key
String first = hashmap.get("str").get(0); // get a string in a list
int listSize = hashmap.get("str").size(); // get the size of a list
char ch = hashmap.get("str").get(0).charAt(0); // get a char of a string in a list in the map

答案 1 :(得分:1)

而不是手动获取密钥集,如何在Java上使用HashMap对象上的keySet() method

使用keySet()看起来像:

Set<String> keys = hashmap.keySet();

有关第三个项目符号,请参阅size() method