有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java Hashmap在散列上迭代并获取除当前键以外的所有键

我遇到了一个更困难的问题:我想迭代Hashmap,但使用除当前键以外的每一个键

一段代码:

for(String gkey: training_tables.keySet()){ 
        int i=0; 
        int notInConformation=0;
        int inConformation=0; 

        for(String akey: training_tables.get(gkey).keySet()){
            inConformation=inConformation+training_tables.get(gkey).get(akey)[i];
            for(String gxkey: training_tables.keySet()){
                if(!gxkey.equals(gkey)){
                    notInConformation+=training_tables.get(gxkey).get(akey)[i]; //OTHER keys; but not the current. 
                }
            }           
        }
        i++;
    }

它是一个散列,包含一个包含整数数组的散列

//private final HashMap<String, HashMap<String, Integer[]>> training_tables;

我正在寻找一种方法来返回其他所有键;但是当前的一个运行在外部for循环中

奇怪的是,经过一些思考,我自己解决了这个问题。有些人可能想知道,我还是会把这篇文章贴在这里;) 上面的代码显示了解决方案


共 (1) 个答案

  1. # 1 楼答案

    从java 8开始,使用流:

    training_tables.keySet().stream().filter(e -> e != currentKey).collect(Collectors.asList());
    

    以列表形式返回除当前键以外的所有键