【问题标题】:Summing values of Hashtable in Java [closed]Java中Hashtable的求和值[关闭]
【发布时间】:2020-10-30 04:21:44
【问题描述】:

我正在尝试用 Java 对字典中的所有值求和(帮助我的孩子做作业,我从不使用 Java 工作)。这是我尝试过的:

    Hashtable<Int, Int> jim_dict = new Hashtable<Int, Int>();
    Hashtable<Int, Int> pam_dict = new Hashtable<Int, Int>();

    int totalJimVotes() {
        int sum = 0;

        (int value: jim_dict.values()) {
            sum += value;
        }

        return sum;
    }

    int totalPamVotes() {
        int sum = 0;

        (int value : pam_dict.values()) {
            sum += value;
        }

        return sum;
    }

我在语法方面犯了什么错误?我在 SO 上找到了另一个对浮点值求和的答案,但它的语法似乎不起作用。

【问题讨论】:

  • Int 不是有效的 Java 类型 - 请改用 Integer
  • 请使用整数
  • 你也应该在循环块之前加上 for 关键字,例如for(int value : dict.values())...
  • HashTable 适用于 Wrapper 类而非原始数据类型。
  • 另外,你不应该在现代代码中使用Hashtable;请改用Map(特别是HashMap)。

标签: java hashtable


【解决方案1】:

这是求和的例子。

使用 jim_dict.values() 求值的总和。

使用 jim_dict.keySet() 获取键的总和。

        Hashtable<Integer, Integer> jim_dict = new Hashtable<Integer, Integer>();
        jim_dict.put(1, 10);
        jim_dict.put(2, 20);
        System.out.println("Values Sum:" + jim_dict.values().stream().mapToInt(Integer::intValue).sum());
        System.out.println("Keys Sum:" + jim_dict.keySet().stream().mapToInt(Integer::intValue).sum());

【讨论】:

    猜你喜欢
    • 2015-06-25
    • 2021-07-12
    • 2016-11-26
    • 2012-04-04
    • 2016-06-24
    • 2010-11-15
    • 2012-09-20
    • 2020-11-23
    • 2011-01-22
    相关资源
    最近更新 更多