【发布时间】:2017-04-14 20:37:25
【问题描述】:
这是我一直在开发的一个小程序,用于跟踪交易中的一些金钱收益/损失。
除了这个问题,我基本上已经完成了。
deleteItem.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Map<Integer, Entry> newMap = new LinkedHashMap<>();
if (table.getSelectedRow() != -1) {
System.out.println(table.getSelectedRow() + 1);
entryTable.removeEntry(table.getSelectedRow() + 1);
entries.remove(table.getSelectedRow() + 1);
}
for(Map.Entry<Integer, Entry> entry : entries.entrySet()) {
newMap.put(entry.getKey() - 1 == 1 ? 2 : entry.getKey() - 1, entry.getValue());
}
if (table.getRowCount() == 1) {
Gui.this.saveAll();
}
entries = newMap;
Gui.this.saveAll();
}
});
所以这张地图被放入一个表格中,如果我删除除第一个以外的任何条目,一切正常。但是,如果我删除了它删除的第一个条目,但表格不会自行处理,我得出的结论一定是地图排序。
有没有一种方法可以在删除条目后获取地图的值并通过它们的键值重新排序,以便它们保持数字顺序?
【问题讨论】:
-
可能会查看SortedMap
-
使用
TreeMap
标签: java