我有哈希图,其键为字符串,值存储为列表。

Map<String,List<Integer>> posmap = new HashMap<>();


因为我在同一个键下有多个值。
例如,我有4个键,值是:

[1681,3523]

[276,489]

[1527,2865]

[300]

我也有另一个treeList,其中包含这些值的排序。我想做的是(并询问);

Iterator<Integer> itr=myTreeSet.iterator();
    while(itr.hasNext())
    {
        int check = itr.next();
        for(Object value : map2.entrySet())
        {
            //System.out.println("Value is :" + value);

        }
    }


我想用我的Hashmap entrySet检查代码中的itr,如果等于则返回hashmap key。以上代码将entrySet作为数组返回。简要地说,如何检查itr属于hashmap的entrySet并属于哪个键。

我将map1和map2作为参数

static void game(Map map1, Map map2, Hero h, HashSet< Integer> hash)


对不起,伙计们。我不清楚我想您是否感到困惑。我首先在主要功能中定义此地图:

Map<String, Enemy> enemymap = new HashMap<>();
Map<String,List<Integer>> posmap = new HashMap<>();


我也将它们填充到主要功能中。填满它们后,我将它们发送到我的功能游戏中。 posmap是map2。所以我指的是posmap。抱歉造成混乱。
func的完整代码。

static void game(Map map1, Map map2, Hero h, HashSet< Integer> hash)
{
    TreeSet<Integer> myTreeSet = new TreeSet<>(); // For sorting min to max-for alignment
    myTreeSet.addAll(myHashset);
    System.out.println(myTreeSet);
    String start = "Micheal started travel with" + " " + h.getHealth() + " " + "HP!";
    Iterator<Integer> itr=myTreeSet.iterator();
    while(itr.hasNext())
    {
        int check = itr.next();
        /* for(Map.Entry<String, List<Integer>> entry : map2.entrySet())
            {
                if(entry.getValue() != null && entry.getValue().contains(check))
                System.out.println("The key " + entry.getKey() + "contains the treeset value " + check);

            } -/
    }

}


从主要功能发送为:

game(enemymap, posmap , hero, myHashset);

最佳答案

我将推荐以下方法:

Iterator<Integer> itr=myTreeSet.iterator();
while(itr.hasNext())
{
    int check = itr.next();
    for(Map.Entry<String, List<Integer>> entry : map2.entrySet())
    {
        if(entry.getValue() != null && entry.getValue().contains(check))
        System.out.println("The key " + entry.getKey() + "contains the treeset value " + check);

    }
}

关于java - 比较存储为列表结构的哈希图值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42334599/

10-10 14:32