我正在使用Swing,我希望用HasMap集合中的学生对象名称填充jList。每个学生在地图中的键是该学生的名字。
我希望如果我从地图中添加/删除单个学生,那么只有该学生从jList中删除,而不是每次调用createList()方法,其中新的整个更新的学生列表被添加到jList。我不知道如何实现这一目标。在我的代码中,我从Map中检索了键,并将它们作为demoList Strings添加到jList中。
另外,将jList中学生的姓名/密钥连接到地图中实际学生的目标键的最佳方法是什么?例如,用户在jList中选择John Scott,按下详细信息按钮后,将从HashMap集合中检索该学生的详细信息。在我的解决方案中,可以捕获用户选择的学生姓名,然后可以找到所选名称作为集合中的关键字。再次有更好的方法来实现这一目标吗?
Map<String, Student> students = new HasMap<>();
Set<String> keyStudent = students.keySet();
DefaultListModel demoList = new DefaultListModel();
public void createList()
{
for (String eachKey: keyStudent)
{
demoList.addElement(eachKey);
}
}