我有不同标准的相同数据,并希望在JTable上显示,有人可以帮助我吗?例如:我在“替代”表中有数据
ID = id01(3个数据)
第一个数据“id01 with criteria1 = 01”,
第二个数据“id01 with criteria2 = 02”。
我想在表格中显示ID列,criteria1,criteria02,其值为id01,01,02。水平出现
图片:
假设你从像List<String[]>
开始
List<String[]> dataFromDatabase = new ArrayList<>();
dataFromDatabase.add(new String[] {"id01", "criteria1", "1"});
dataFromDatabase.add(new String[] {"id01", "criteria2", "2"});
dataFromDatabase.add(new String[] {"id01", "criteria3", "5"});
dataFromDatabase.add(new String[] {"id02", "criteria1", "6"});
dataFromDatabase.add(new String[] {"id02", "criteria2", "7"});
dataFromDatabase.add(new String[] {"id02", "criteria3", "10"});
您可以运行它并以Map中所需的格式存储数据:
Map<String, String[]> resultMap = new HashMap<>();
for(String[] dataArray : dataFromDatabase) {
String id = dataArray[0];
String criteria = dataArray[1];
String value = dataArray[2];
String[] result = resultMap.getOrDefault(id, new String[3]);
if("criteria1".equals(criteria))
result[0] = value;
else if("criteria2".equals(criteria))
result[1] = value;
else if("criteria3".equals(criteria))
result[2] = value;
resultMap.put(id, result);
}
你最终得到这样的地图:
{ "id01", ["1","2","5"] }
{ "id02", ["6","7","10"] }
如果你提供更多细节,我可以改进答案。