私は一連のセットを反復するプログラムを書こうとしています。以下のサンプルコードでは、iter.next()が文字列のセットではなくオブジェクト型であるというエラーが表示されています。私は同様にセットのセットを反復することでいくつかの他のより神秘的な問題を抱えています。助言がありますか?セットの反復処理
Set<String> dogs= new HashSet<String>();
dogs.add("Irish Setter");
dogs.add("Poodle");
dogs.add("Pug");
dogs.add("Beagle");
Set<String> cats = new HashSet<String>();
cats.add("Himalayan");
cats.add("Persian");
Set<Set<String>> allAnimals = new HashSet<Set<String>>();
allAnimals.add(cats);
allAnimals.add(dogs);
Iterator iter = allAnimals.iterator();
System.out.println(allAnimals.size());
while (iter.hasNext())
{
System.out.println(iter.next().size());
}
同じセットアップ(マイナスループ)と関連する質問。
以下のコードでは、チルダを含む最終出力が生成されます。しかし、私は行くようにすべてのアニマルズを変更したくない!大きなセット(allAnimals)に影響を与えずに拡張を編集するにはどうすればいいですか?
for (Set<String> extension : allAnimals)
{
System.out.println("Set size: " + extension.size());
extension.add("~");
System.out.println(extension);
}
System.out.println(allAnimals);
セットを作成した直後に 'someSet.clear();'を呼び出す必要はありません。 – dasblinkenlight
ありがとう!私は時々船外に行くので、変数を開始しないことについては緊張しています。 – user2623054