java - 使用 jButton 将数据保存到 HashMap 中

标签 java user-interface netbeans hashmap

我是 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/

相关文章:

java - 从现有项目 Netbeans 创建项目

java - JPA 中多列的不同

java - 鼠标悬停时图 block 会更改颜色 - 防止一次选择多个图 block

java - 使用java嵌套#if宏处理

java - 是否可以将非 JavaFX 线程优先于 JavaFX 线程?

ios - 将模型文件添加到 View Controller ,帮助 UI 正常工作

javascript - 如何优化 React 模式以允许用户将新数据输入到状态中

java - 如何使用ProcessBuilder进程的进度条?

java - 由于名称未定义,AspectJ 的构建任务失败

java - 无法发送月份作为参数