2017-12-30 49 views
-6

"サブ"クラスのリストを持つクラス、つまり同じクラスのインスタンスがあり、これが無限に何度もネストすることができます。私はすべてのリストをツリーのいたるところまでループすることができますか?無限に入れ子になったArrayListsを繰り返す

リージョンには多数のサブリージョンが存在する可能性があり、サブリージョンには複数のサブリージョンが存在する可能性があります。

+0

recursive関数を作成することができますか。?私はここに何の問題も見当たりません – Ravi

+0

あなたはここで何をしたいですか?すべての要素を印刷するか、地域を見つけるか、それとも何か他のものを探しますか? –

+0

はい。多くの方法があります – ThomasEdwin

答えて

1

あなたは問題が何であるか、

public void loopThrough(List<Region> regions) { 
    for(Region region : regions) { 
     if(region.hasSubRegion()) { 
      loopThrough(region.getSubRegions()); 
     } 
    } 
} 
+1

ありがとう、それは私が探しているものです。 – Darren

1

Recursionを使用してこれを行うことができます。

のは、お住まいの地域や再帰的にすべての名前を印刷し、再帰的なメソッドに名前を追加してみましょう。

public class Region { 
    String name; 
    List<Region> subRegions = new ArrayList<Region>(); 

    void printAll() { 
     System.out.println(name); 
     for (subRegion : subRegions) { 
      subRegion.printAll(); // <-- this is recursive call 
     } 
    } 
} 
+1

これはコメントです – Ravi

+0

これは質問に対する答えです。 – Ridcully

+0

あなたは私のコメントの後に答えを更新しました。そして、私のコメントはあなたの古いバージョンの投稿のためのものでした – Ravi

関連する問題