Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JAVA使用列表遍历Hasmap_Java_Hashmap - Fatal编程技术网

JAVA使用列表遍历Hasmap

JAVA使用列表遍历Hasmap,java,hashmap,Java,Hashmap,我需要迭代hashmap并获取键值,它应该是一个字符串,以及该键中的所有值,这是一个包含字符串的字符串列表 伪代码 static HashMap<String, List<String>> vertices = new HashMap<String, List<String>>(); for (int i = 0; i < vertices.size(); i++) { String key = vertices.getKe

我需要迭代hashmap并获取键值,它应该是一个字符串,以及该键中的所有值,这是一个包含字符串的字符串列表

伪代码

static HashMap<String, List<String>> vertices  = new HashMap<String, List<String>>();
for (int i = 0; i < vertices.size(); i++)
{

       String key = vertices.getKey at first postions;

    for (int x = 0; x < size of sublist of the particular key; x++)
       {
              String value = vertices key sublist.get value of sublist at (i);

          }
}
静态HashMap顶点=新HashMap();
对于(int i=0;i
尝试
顶点.keySet()

它提供了一组地图中的所有关键点。在如下所示的for循环中使用它

for (String key : vertices.keySet()) {
   for (String value : vertices.get(key)) { 
       //do stuff
   }
}

您不能直接迭代
HashMap
,因为
HashMap
中没有数值索引。在类型为
String
的情况下,使用的是
key
值。因此,这些值没有特定的顺序。但是,如果需要,可以使用
顶点.entrySet()
构造一组条目并在其上迭代

for(条目项:顶点.entrySet()){
系统输出打印项次(“顶点:+项);
for(字符串子项:item.getValue()){
系统输出打印项次(子项);
}
}

可能重复的列表在特定情况下如何?如何获取该特定密钥的列表?我还需要该键的字符串值以及列表的值?我应该删除此帖子吗?我可以删除此帖子吗,主持人?谢谢。如何迭代列表和字符串值将是列表对象而不是字符串?@MAXGEN在这里,
顶点。get(key)
是列表,每个
字符串值
都是
键的
列表
值的一个元素。第二个循环在列表上迭代。获取每个键的列表值怎么样?@MAXGEN您可以尝试foreach循环,如给定示例中所示。
for (Entry<String, List<String>> item : vertices.entrySet()) {
    System.out.println("Vertex: " + item);
    for (String subitem : item.getValue()) {
        System.out.println(subitem);
    }
}