gpt4 book ai didi

java - 将新值放置到哈希表中的现有键中

转载 作者:行者123 更新时间:2023-12-02 07:42:17 26 4
gpt4 key购买 nike

我正在使用 HashMap 来填充 jtable。用户选择一行并单击编辑按钮。我从 HashMap 中获取值并将其放置在文本区域中。用户可以进行更改,然后单击另一个按钮。我有新值和键,但我不确定如何将更改后的值写回到 HashMap 中的正确键。

这是我将数据写入文本区域的地方

private void outputSelection() {
StringBuffer csb = new StringBuffer();
String s = "";
int[] row = selectTable.getSelectedRows();

for(int i = row.length-1; i >= 0; i--){
String check = (String) EdiMapTableModel.getMapInstance().getValueAt(i, EdiMapTableModel.getMapInstance().COMMENT_COL);
if (!isNullOrEmpty(check)) {
if (csb.length() > 0) {
csb.append("\n");
}
csb.append(check);
}
}

s = csb.toString();
csb.setLength(0);
output.append(s);

}

这就是我试图恢复值(value)的地方

private void inputSelection() {
String s = output.getText();
int[] row = selectTable.getSelectedRows();
for(int i = row.length-1; i >= 0; i--){
TCComponentItemRevision check = (TCComponentItemRevision) EdiMapTableModel.getMapInstance().getValueAt(i, EdiMapTableModel.getMapInstance().ITEMID_COL);
EdiMapTableModel.getMapInstance().commentBackMap(check, s);
repaint();
}

}

这是我试图将其放回 map 的位置

public void commentBackMap(int row, TCComponentItemRevision id, String comment) {

if(model.containsKey(id)) {
model.put(id, comment);
}
fireTableDataChanged();
}// end commentBackMap()

我知道 containsKey 不在上面。 id 是键值

我需要遍历 HashMap 来寻找匹配项吗?不知道这是否重要,但它是 linkedhashmap 而不是 hashmap

最佳答案

根据HashMap#put文档:

Associates the specified value with the specified key in this map. If the map previously contained a mapping for the key, the old value is replaced.

因此,您所要做的就是使用相同的键和新值调用 put,它将为您进行替换。

这也适用于 LinkedHashMap,因为它继承了 HashMapput 方法。

关于java - 将新值放置到哈希表中的现有键中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11420959/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com