"サブ"クラスのリストを持つクラス、つまり同じクラスのインスタンスがあり、これが無限に何度もネストすることができます。私はすべてのリストをツリーのいたるところまでループすることができますか?無限に入れ子になったArrayListsを繰り返す
リージョンには多数のサブリージョンが存在する可能性があり、サブリージョンには複数のサブリージョンが存在する可能性があります。
"サブ"クラスのリストを持つクラス、つまり同じクラスのインスタンスがあり、これが無限に何度もネストすることができます。私はすべてのリストをツリーのいたるところまでループすることができますか?無限に入れ子になったArrayListsを繰り返す
リージョンには多数のサブリージョンが存在する可能性があり、サブリージョンには複数のサブリージョンが存在する可能性があります。
あなたは問題が何であるか、
public void loopThrough(List<Region> regions) {
for(Region region : regions) {
if(region.hasSubRegion()) {
loopThrough(region.getSubRegions());
}
}
}
ありがとう、それは私が探しているものです。 – Darren
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
}
}
}
をrecursive関数を作成することができますか。?私はここに何の問題も見当たりません – Ravi
あなたはここで何をしたいですか?すべての要素を印刷するか、地域を見つけるか、それとも何か他のものを探しますか? –
はい。多くの方法があります – ThomasEdwin