我想從java中的數據庫中移動一棵樹。數據庫樹到java
首先,我從DB獲得的ResultSet:
String selectTree = "select id, id_parent, text from tree ";
ResultSet resultSet = statement.executeQuery(selectTree);
resultSet.last();
sizeOfSelect = resultSet.getRow();
resultSet.beforeFirst();
list = new ArrayList<Node>(sizeOfSelect);
while(resultSet.next()) {
list.add(new Node(resultSet.getInt(1),
resultSet.getInt(2),
resultSet.getString(3)));
}
現在我有節點的數組:
class Node<T> {
private int id;
private int parent_id;
private String text;
Node(int _id, int _parentId, String _text) {
this.id = _id;
this.parent_id = _parentId;
this.text = _text;
}
//getters & setters here
我怎樣才能獲得Java中的同一棵樹? 你能告訴我思路嗎?
我已經在解決方案上取得了進展。 我轉向RawNode的數組中的地圖這樣的:
for(RawNode rawNode : tmpList) {
tmpMap.put(rawNode.getId(), dependsId(rawNode.getId()));
}
Where方法dependsId()是:
private List<RawNode> dependsId(int id) {
List<RawNode> tmpDependList = new ArrayList<>();
for(RawNode rawNode : tmpList) {
if(rawNode.getParentId() == id) {
tmpDependList.add(rawNode);
}
}
return tmpList;
}
我應該怎麼做?如何通過父節點和子節點將節點數組中的此映射轉換成圖?
我採取+1我的指示最後評論...您的問題是現在「足夠回答」了?如果是這樣 - 與你合作很愉快;但正如所說:不要指望每次都會發生這種情況。最後,學習編程主要是**自己做很多事情。依靠別人的經驗似乎更加方便和高效;但重點是:你*想要*不斷地撞到牆上,直到你想出如何解決這個難題。話雖如此,祝你今後工作順利。 – GhostCat