我正在尝试编写一个迭代一组集合的程序。在下面的示例代码中,我收到一个错误,指出 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 !如何在不影响更大集合 (allAnimals) 的情况下编辑扩展。
for (Set<String> extension : allAnimals)
{
System.out.println("Set size: " + extension.size());
extension.add("~");
System.out.println(extension);
}
System.out.println(allAnimals);