主要表
ID COUNTRY_ID STATE_ID Status QTY[%] 1 1 1 Confirmed 80 2 1 1 Tentative 20 3 1 2 Confirmed 70 4 1 2 Tentative 30 5 2 3 Confirmed 50 6 2 3 Tentative 50
国家/地区表
COUNTRY_ID COUNTRY_NAME 1 United States 2 India
州表
STATE_ID STATE_NAME 1 New York 2 New Jersey 3 Delhi
我有一个用户界面,其中数据需要表示为树,用户可以在任何级别更新数量,并且应该相应地分发 -
例如,UI看起来像 -
ALL Total Confirmed 200 Total Tentative 100 United States Total Confirmed 150 Total Tentative 50 New York Confirmed 80 Tentative 20 New Jersey Confirmed 70 Tentative 30 India Total Confirmed 50 Total Tentative 50 Delhi Confirmed 50 Tentative 50
如果我们仔细观察,较低级别的数据直接来自数据库,但在较高级别,它们只是来自较低级别的数据汇总。
我想我有一个要求,用户可以在任何级别更新总计,他们需要根据需要分配到较低和较高级别。
我正在尝试使用以下实现中的预订和后序树遍历[带有k节点的n-ary树]
http://vivin.net/2010/01/30/generic-n-ary-tree-in-java/
class State {
private String name ;
private double confirmed ;
private double tentative ;
private boolean isUpdated ;
// getters and setters
}
class Country {
private String name ;
private double totalConfirmed ;
private double totalTentative ;
private boolean isUpdated ;
private List<State> states ;
// getters and setters
public void getTotalConfirmed () {
// iterate through the list of states and add all the confirmed values from every state and return ;
}
}
class ALL {
private double totalConfirmed ;
private double totalTentative ;
private boolean isUpdated ;
private List<countries> countries;
// getters and setters
public void getTotalConfirmed() {
// iterate through the list of all countries and add all the confirmed values from every country and return ;
}
// similary setTotalConfirmed as well
}
问题 -
这是一个简单的表示,但我处理的是一个非常复杂的结构,我至少有5-6个数据级别。
答案 0 :(得分:0)
您可以使用XML作为树数据结构,我建议使用Apache XML http://xerces.apache.org/xerces-j/api.html,您可以轻松遍历整个树。