比较两个哈希放大器和增量计数器中的值

Sharadha jayaraman

我有两个类型的哈希图A和B。我想同时比较两个映射的值,保持B的值作为比较的参考,如果发现值相等,则递增correctValueCount计数器,否则递增不正确的值计数器。

例如,

    int correctValuesCounter = 0;
    int incorrectValuesCounter = 0;

    Map<Int, Double> A = new HashMap<Int, Double>();
    Map<Int, Double> B = new HashMap<Int, Double>();

    A.put(1, 0.0);
    A.put(2, 1.0);
    A.put(3, 0.0);
    A.put(4, 0.0);
    A.put(5, 1.0);
    A.put(6, 1.0);


    B.put(1, 0.0);
    B.put(2, 1.0);
    B.put(3, 0.0);
    B.put(4, 0.0);
    B.put(5, 1.0);
    B.put(6, 1.0);

现在,这些映射值是相等的,因此,correctValuesCounter应该为6,而不正确的ValuesCounter应该为0。类似地,如果将A.put(3,0.0)更改为A.put(3,1.0),而B(2,1.0)为更改为B(2,0.0),那么correctValuesCounter将变为4,而correctValuesCounter将变为2,依此类推。

到目前为止,我没有得到预期的结果,所以有人可以指导我正确的方向吗?

public void checkEqualValues(Map<Integer, Double> A, Map<Integer, Double> B)
    {       
        for(double value : A.values())
        {
            if(A.size() == B.size())
            {
                if(B.values().contains(value))
                {
                    correctValuesCounter++;
                }
                else
                    incorrectValuesCounter++;
            }
            else
                System.out.println("Unequal list");
        }

        System.out.println("correctValuesCounter: "+correctValuesCounter);
        System.out.println("incorrectValuesCounter:"+incorrectValuesCounter);
    }

但是,correctValuesCounter: 6对于所有排列和组合,这都返回true(即)(即使当我更改两个列表中的值以使彼此不相等时)。有人可以帮忙吗?

美娜

您正在将的值与进行比较contains

这基本上意味着你增加你的柜台当过一个值B包含A,如果它涉及到相同的密钥不是!

使用基于键集的迭代来比较值,例如:

if (A.size() != B.size()) {
    System.out.println("Different sizes :(");
}
for (Integer key: B.keySet()) {
    if (A.get(key) != null && A.get(key).equals(B.get(key))) {
        correctValuesCounter++;
    }
}
System.out.printf("Correct values counter: %d%n", correctValuesCounter);

输出

Correct values counter: 6

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

行中的增量计数器

来自分类Dev

如何将两个放大器同时用于两个散布图?

来自分类Dev

中继器和放大器之间的差异

来自分类Dev

mongodb加载文档和增量计数器

来自分类Dev

使用Redux输入的增量和减量计数器

来自分类Dev

节点js mongodb中的增量计数器

来自分类Dev

增量计数器在Flutter中返回“ null”

来自分类Dev

在SQL中实现增量计数器

来自分类Dev

find -exec中的增量计数器

来自分类Dev

重置对象中的自动增量计数器

来自分类Dev

while循环计数器比较两个列表

来自分类Dev

用bash中的增量计数器替换包含两个字符串的字符串

来自分类Dev

SQL增量计数器

来自分类Dev

熊猫增量计数器

来自分类Dev

SQL增量计数器

来自分类Dev

编辑放大器清单中的数据

来自分类Dev

如何摆脱放大器; 在 JavaScript 中

来自分类Dev

在放大器中显示推荐

来自分类Dev

当用for循环语法互换增量计数器和测试计数器时会发生什么?

来自分类Dev

为什么在MongoDB ID中有一个增量计数器?

来自分类Dev

使增量计数器和多个SELECT语句更有效

来自分类Dev

使增量计数器和多个SELECT语句更有效

来自分类Dev

AngularJS中ng-repeat中的增量计数器

来自分类Dev

AngularJS中ng-repeat中的增量计数器

来自分类Dev

MySQL简单行num增量计数器

来自分类Dev

调用函数的Scala增量计数器

来自分类Dev

基于列匹配的增量计数器(postgres)

来自分类Dev

Javascript增量计数器onclick事件

来自分类Dev

Firebase云功能增量计数器