私は標準的なツリーのようなフィールドを持つArrayList<Foo>
構造を持っています: , ,Java
id
id_parent
value
id_element
特定のノードのすべての葉 ( ) のリストを取得したいと考えています。
私のデータ例は次のとおりです。
Foo ArrayList<E>
elementData Object[10]
[0] Foo
id 1333393146
id_element 1333398441937
id_parent 1333393120
value "1.1."
[1] Foo
id 1333393120
id_element 0
id_parent 0
value "1."
[2] Foo
id 1333400050
id_element 0
id_parent 0
value "2."
[3] Foo
id 1333400480
id_element 0
id_parent 1333400050
value "2.1."
[4] Foo
id 1333400596
id_element 1335957085269
id_parent 1333400480
value "2.1.1."
[5] Foo
id 1333401059
id_element 1335957088564
id_parent 1333400480
value "2.1.2."
[6] Foo
id 1333401973
id_element 1335957090492
id_parent 1333400480
value "2.1.3."
[7] Foo
id 1333401974
id_element 1335957093220
id_parent 1333400050
value "2.2."
[8] Foo
id 1333392031
id_element 0
id_parent 0
value "3."
[9] Foo
id 1333394672
id_element 1335957098326
id_parent 1333392031
value "3.1."
は私の構造であり、ノードのIDでpublic ArrayList<Long> GetIds(ArrayList<Foo> tree, Long id_node) { }
ある関数を実行する必要があります。tree
id_node
子ノードではなく、親ノードの葉だけが必要です。
例えば:
入力: [構造の上]、id = 1333400050
出力: 1335957085269、1335957088564、1335957090492、1335957093220
なぜ私はこれについてブラックアウトを持っているのか分かりません..