私は次のコードが私にサブセットと補完セットを与えると期待しています。Set.contains()はサブセットかどうかをどのように決定しますか?
実際、結果は「エラー:これはサブセットではありません!」と表示されます。
it.next()が取得し、私が望む結果を得るためにコードを修正する方法は? ありがとう!あなたはそれがないと思う何をしません
set.contains(s)
が、それはそのメンバーが中に含まれているかどうかを確認するために、引数として別のSet
を取ることはありません。
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());
}
}
Setを使用する前にSet APIを知っておく必要があります。私のチュートリアル[HashSetの内部生活](http://volodial.blogspot.com/2013/07/internal-life-of-hashset-in-java.html) –
@VolodymyrLevytskyiあなたのリンクは壊れています、記事まだ他の場所で利用できますか? – Noumenon