【发布时间】:2021-08-03 02:43:27
【问题描述】:
我是 Java 新手,我想知道如何用 HashMap 数据填充 JTable。在哈希映射中,键是整数,值是对象数组。我想把hash map中的数据放到表中,但是不知道怎么取值。
HashMap:
Map<Integer, Object[]> prodList = new HashMap<>();
prodList.put(1, new Object[]{"Prod_1", 8000.0, 550}); //name, price, amount
prodList.put(2, new Object[]{"Prod_2", 2300.0, 15});
prodList.put(3, new Object[]{"Prod_3", 2700.0, 15});
我一直在尝试这个:
public TableModel fillTable(Map<?,?> prodList)
{
DefaultTableModel tableModel = new DefaultTableModel(
new Object[] {"key", "value"}, 0
);
for(Map.Entry<?,?> data : prodList.entrySet())
{
tableModel.addRow(new Object[] {data.getKey(), data.values()});
}
return tableModel;
}
但它只返回密钥和这个:[L] java.lang.Object; @ 1565e42a。我想我必须遍历数组并将所有数组值放入一个新列中,但我不知道该怎么做。
【问题讨论】: