我正在将字符串添加到HashMap<String, ChartSeries>,但不会添加所有字符串。但是,它确实更改了哈希图的大小整数:
java - HashMap没有添加所有 key-LMLPHP

如您所见,它显示为size:6,但是当您查看表格时,它仅包含4个对象。

这是我的代码:

for (CaseTypeActivationAmount CTAM : caseTypeActivationAmounts) {
    ChartSeries cs;
    if (!caseTypes.containsKey(CTAM.getOmschrijving())) {
        if (CTAM.getOmschrijving() != null) {
            cs = new ChartSeries(CTAM.getOmschrijving());
        } else {
            cs = new ChartSeries(" ");
        }

        caseTypes.put(CTAM.getOmschrijving(), cs);
    } else {
        cs = caseTypes.get(CTAM.getOmschrijving());
    }
    DateFormat dateFormat = new SimpleDateFormat("dd/MM/yy");
    cs.set(dateFormat.format(CTAM.getDate()), CTAM.getAmount());
}


我想念什么吗?

最佳答案

当您查看表格时,它仅包含4个对象。


该表确实包含六个对象。但是,由于哈希冲突,它仅将它们保存在四个separate chains中。

您可以看到调试器中正在发生的情况:打开每个节点的值,然后检查下一个值。您将发现(1)六个节点中的两个具有第二项,或者(2)六个节点中的一个在其链中具有两个附加项,以计算六个对象的总数。

10-04 13:40