我正在尝试使用包含字符串和浮点数的地图中的数据填充JTable。以下是我尝试这样做的方法,但我一遍又一遍地获得相同的数据。
private JTable buildTable(Map<String, Float> mapData){
String columnNames[] = { "MyString", "MyFloat" };
Object[][] data = new Object[mapData.size()][2];
for(int i = 0; i < mapData.size(); i++){
for(Map.Entry<String, Float> entry : mapData.entrySet()){
data[i][0] = entry.getKey();
data[i][1] = entry.getValue().getMyFloat();
break;
}
}
JTable table = new JTable(data, columnNames);
return table;
}
答案 0 :(得分:2)
内部循环在外部循环的每次迭代中将所有键/值对写入相同的数组索引。实际上,我们只需要一个循环,而不是两个循环。一个单独的计数器来增加索引会有所帮助。
int i = 0;
for(Map.Entry<String, Float> entry : mapData.entrySet()) {
data[i][0] = entry.getKey();
data[i][1] = entry.getValue().getMyFloat();
i++;
}