Tôi hy vọng đoạn mã sau sẽ cho tôi một tập hợp con và một bộ bổ sung.Cách Set.contains() quyết định xem đó là tập hợp con hay không?
Nhưng trên thực tế, kết quả cho thấy "Lỗi: Đây không phải là tập hợp con!"
Điều gì it.next() nhận và cách sửa đổi mã của tôi để nhận được kết quả tôi muốn? Cảm ơn!
package Chapter8;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
public class Three {
int n;
Set<Integer> set = new HashSet<Integer>();
public static void main(String args[]) {
Three three = new Three(10);
three.display(three.set);
Set<Integer> test = new HashSet<Integer>();
Iterator<Integer> it = three.set.iterator();
while(it.hasNext()) {
test.add(it.next());
three.display(test);
three.display(three.complementarySet(test));
}
}
boolean contains(Set<Integer> s) {
if (this.set.contains(s))
return true;
else
return false;
}
Set<Integer> complementarySet(Set<Integer> s) {
if(this.set.contains(s)){
Set<Integer> result = this.set;
result.removeAll(s);
return result;
}
else {
System.out.println("Error: This is not a subset!");
return null;
}
}
Three() {
this.n = 3;
this.randomSet();
}
Three(int n) {
this.n = n;
this.randomSet();
}
void randomSet() {
while(set.size() < n) {
set.add((int)(Math.random()*10));
}
}
void display(Set<Integer> s) {
System.out.println("The set is " + s.toString());
}
}
Bạn cần biết Đặt api trước khi sử dụng Đặt. Vui lòng đọc hướng dẫn của tôi [Internal life of HashSet] (http://volodial.blogspot.com/2013/07/internal-life-of-hashset-in-java.html) –
@VolodymyrLevytskyi Liên kết của bạn bị hỏng, là bài viết vẫn có sẵn ở nơi khác? – Noumenon