我是 java 新手,需要帮助通过 jButton 将数据保存到 HashMap 中。我有一个在 netbeans 中创建的 GUI,它具有三个字段。 召集人 ID、考官 ID 和学生 ID。用户只需在每个字段中输入数据并单击“提交”即可将其存储到 HashMap 中。我遇到的问题是我希望每条记录都是唯一的,并且有一个以 G 开头的键,每次提交记录时该键都会递增。 例如 G1 | 1 | KK | thr、tut、tet:G2 | 2 |韩国 | abc、def、ghi:等
private void savemode () {
HashMap<String, Collection<String>> a = new HashMap<String, Collection<String>>();
int x = Integer.parseInt(counter.getText());
counter.getText();
String key = "G" + x;
String[] lines = textbox1.getText().split("\n");
a.put(key, new ArrayList<String>());
a.get(key).add(textbox2.getText());
a.get(key).add(textbox3.getText());
a.get(key).add(Arrays.toString(lines));
textbox1.setText("");
textbox2.setText("");
textbox3.setText("");
x++;
counter.setText(Integer.toString(x));
}
最佳答案
每次保存数据时,您都会重新创建 HashMap,并且因为您只在按下按钮时保存当前记录,所以您永远不会保留以前的值。一个简单的解决方案是使 HashMap 全局化,然后在插入新的键/值对或修改现有的键/值对之前检查用户希望保存/修改的键是否存在。
要使变量成为全局变量,请执行类似于以下操作的操作:
public class MyClass
{
private HashMap<Key, Value> myHashMap = new HashMap<>();
public void myMethod()
{
myHashMap.put(myKeyVariable, myValueVariable);
}
}
关于java - 使用 jButton 将数据保存到 HashMap 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20244833/