我正在嘗試編寫迭代一組集合的程序。在下面的示例代碼中,我得到一個錯誤,指出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