説明するのは少し難しいです。このサンプルコードでは:親子関係に基づいてアイテム内のすべてのアイテム(階層)のリストを取得するにはどうすればよいですか?
public class SomeClass
{
private String id;
private String parent;
public SomeClass(String id, String parent)
{
this.id = id;
this.parent = parent;
}
public String getParent()
{
return parent;
}
}
List<SomeClass> someList = new ArrayList();
someList.add(new SomeClass("Test1", "none"));
someList.add(new SomeClass("Test2", "none"));
someList.add(new SomeClass("Test1Mem1", "Test1"));
someList.add(new SomeClass("Test2Mem1", "Test2"));
someList.add(new SomeClass("Test1Mem1Obj1", "Test1Mem1"));
私はそれが「親」フィールドと階層だ内のオブジェクトを含むされるすべてのオブジェクトを取得する関数を作成したいです。たとえば、 "Test1Mem1Obj1"を検索すると、 "{Test1Mem1、Test1}"の値が表示され、 "Test2Mem1"を検索すると "{Test2}"の値が表示されます。基本的に親の親の親をフェッチします。言語の壁のため、この説明には申し訳なく思っています。誰かが私をここで助けてくれることを願っていますありがとうございました!
私は一時的な汚れた解決策があり、なぜこれがうまくいかないのか分かります。
if(someObj.getParent() != null)
{
result.add(someObj.getParent());
if(someObj.getParent().getParent() != null)
{
result.add(someObj.getParent().getParent());
if(someObj.getParent().getParent().getParent() != null)
{
result.add(someObj.getParent().getParent().getParent());
}
}
}
Listを使用する必要がありますか?私はツリー構造がここでより良く役立つかもしれないと思っています。 –
また、私はMySQLデータベースからリストを読み込むことに言及する必要があります。だから、順序と実装の制限を持っていない、私はツリー構造を使用することはできません。 – TheAwesomeGem
idsは一意ですか?代わりに地図を使用できますか? – Crummy