Tôi đang cố gắng viết một chương trình lặp qua một tập các bộ. Trong đoạn mã ví dụ dưới đây, tôi nhận được một lỗi cho biết rằng iter.next() là đối tượng kiểu thay vì một tập các chuỗi. Tôi đang gặp một số vấn đề bí ẩn khác với việc lặp lại các tập hợp các bộ. Bất kỳ đề xuất?Lặp lại tập hợp các bộ
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());
}
Một câu hỏi có liên quan với các thiết lập tương tự (trừ vòng lặp).
Đoạn mã dưới đây dẫn đến kết quả cuối cùng bao gồm dấu ngã. Nhưng tôi không muốn thay đổi allAnimals khi tôi đi! Làm cách nào để chỉnh sửa tiện ích mở rộng mà không ảnh hưởng đến tập hợp lớn hơn (allAnimals).
for (Set<String> extension : allAnimals)
{
System.out.println("Set size: " + extension.size());
extension.add("~");
System.out.println(extension);
}
System.out.println(allAnimals);
Bạn không cần phải gọi 'someSet.clear();' ngay sau khi tạo tập hợp. – dasblinkenlight
Cảm ơn! Tôi lo lắng về việc không bắt đầu các biến vì vậy tôi thỉnh thoảng bị quá tải. – user2623054