Javaのデータベースからツリーを移動したい。データベースツリーto 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の配列を回す:メソッドdependsIdは()である
for(RawNode rawNode : tmpList) {
tmpMap.put(rawNode.getId(), dependsId(rawNode.getId()));
}
は:
private List<RawNode> dependsId(int id) {
List<RawNode> tmpDependList = new ArrayList<>();
for(RawNode rawNode : tmpList) {
if(rawNode.getParentId() == id) {
tmpDependList.add(rawNode);
}
}
return tmpList;
}
私は次に何をすべきか?親と子を持つNodeの配列でこのマップをどのように変換するのですか?
class RawNode {
private int id;
private int parent_id;
private String text;
[ヒント:
を持っている願っています今は "十分に答えた"?もしそうなら、それはあなたと一緒に働くのが素敵でした。しかし、言ったように:毎回これが起こるとは思わない。結局のところ、学習プログラミングは**主に**自分で多くのことをやっていることです。他の人の経験に頼る方がより便利で効率的です。あなたがパズルを解く方法を理解するまで、あなたは壁に衝突したいと思っています。それはあなたの将来の仕事のために幸運を祈っています。 – GhostCat