I am creating a new IntSet class that uses an ArrayList. Firstly, I extend the Intset ArrayList and run the implementation method. I am facing some problems in my union () method. here is my code ...
public class IntSet extends ArrayList<Integer>{ private static final long serialVersionUID = 1L; private ArrayList<Integer> intset; public IntSet(){ this.intset = new ArrayList<Integer>(); } public IntSet(ArrayList<Integer> intset){ this.intset = intset; } public void insert(int x){ this.intset.add(x); } @Override public Integer remove(int x){ int index = intset.indexOf(x); this.intset.remove(index); return 1; } @Override public int size(){ return this.intset.size(); } @Override public Integer get(int index){ return this.intset.get(index); } public boolean member(int x){ if(intset.indexOf(x)==-1) return false; else return true; } public IntSet union(IntSet a){ IntSet intersectSet = new IntSet(); intersectSet.insert(0); intersectSet.insert(1); System.out.println(intersectSet.size()); System.out.println(intersectSet.contains(1)); for(int i=0; i<a.size(); i++){ } return intersectSet; } public String toString(){ if(intset.size()==0) return "[]"; String s = "[" + intset.get(0).toString(); for(int i=1; i<intset.size(); i++){ s += "," + intset.get(i).toString(); } return s += "]"; } }
In method
union(IntSet a);
I create a new Intset object, then add 2 values ββ(0, 1) to the intersectSet variable.
intersectSet.insert(0); intersectSet.insert(1);
then I print the intersectSet size, it showed me 2, which is correct!
but when do I need to check that there is 1 in intersectSet or not? he showed me a lie.
System.out.println(intersectSet.contains(1));
In fact, it should show me true, because intersectSet is an integer 1.
Is there something wrong in my code, and should I extend the ArrayList for the IntSet class?
source share