public ConsPStack<E> minusAll(final Collection<?> list) { if(size==0) return this; if(list.contains(first)) // get rid of current element return rest.minusAll(list); // recursively delete all // either way keep looking: ConsPStack<E> newRest = rest.minusAll(list); if(newRest==rest) return this; return new ConsPStack<E>(first, newRest); }
public ConsPStack<E> minusAll(final Collection<?> list) { if(size==0) return this; if(list.contains(first)) // get rid of current element return rest.minusAll(list); // recursively delete all // either way keep looking: ConsPStack<E> newRest = rest.minusAll(list); if(newRest==rest) return this; return new ConsPStack<E>(first, newRest); }
public ConsPStack<E> minusAll(final Collection<?> list) { if (size == 0) return this; if (list.contains(first)) // get rid of current element return rest.minusAll(list); // recursively delete all // either way keep looking: ConsPStack<E> newRest = rest.minusAll(list); if (newRest == rest) return this; return new ConsPStack<E>(first, newRest); }
public ConsPStack<E> minusAll(final Collection<?> list) { if(size==0) return this; if(list.contains(first)) // get rid of current element return rest.minusAll(list); // recursively delete all // either way keep looking: ConsPStack<E> newRest = rest.minusAll(list); if(newRest==rest) return this; return new ConsPStack<E>(first, newRest); }