Skip to content

Instantly share code, notes, and snippets.

@djeikyb
Last active December 28, 2015 21:49
Show Gist options
  • Select an option

  • Save djeikyb/7566975 to your computer and use it in GitHub Desktop.

Select an option

Save djeikyb/7566975 to your computer and use it in GitHub Desktop.
forwarding sorted set. cf effective java (joshua bloch)
/**
* Indiscriminately forwards the sorted set methods to the backing sorted set.
* <p>
* {@link #toString()} is also forwarded. equals and hashcode are not
* implemented.
*/
public abstract class ForwardingSortedSet<E> implements SortedSet<E>
{
protected SortedSet<E> set;
public ForwardingSortedSet()
{
set = new TreeSet<E>();
}
public ForwardingSortedSet(Collection<E> c)
{
set = new TreeSet<E>(c);
}
@Override
public int size()
{
return set.size();
}
@Override
public boolean isEmpty()
{
return set.isEmpty();
}
@Override
public boolean contains(Object o)
{
return set.contains(o);
}
@Override
public Iterator<E> iterator()
{
return set.iterator();
}
@Override
public Object[] toArray()
{
return set.toArray();
}
@Override
public <T> T[] toArray(T[] a)
{
return set.toArray(a);
}
@Override
public boolean add(E e)
{
return set.add(e);
}
@Override
public boolean remove(Object o)
{
return set.remove(o);
}
@Override
public boolean containsAll(Collection<?> c)
{
return set.containsAll(c);
}
@Override
public boolean addAll(Collection<? extends E> c)
{
return set.addAll(c);
}
@Override
public boolean retainAll(Collection<?> c)
{
return set.retainAll(c);
}
@Override
public boolean removeAll(Collection<?> c)
{
return set.removeAll(c);
}
@Override
public void clear()
{
set.clear();
}
@Override
public Comparator<? super E> comparator()
{
return set.comparator();
}
@Override
public SortedSet<E> subSet(E fromElement, E toElement)
{
return set.subSet(fromElement, toElement);
}
@Override
public SortedSet<E> headSet(E toElement)
{
return set.headSet(toElement);
}
@Override
public SortedSet<E> tailSet(E fromElement)
{
return set.tailSet(fromElement);
}
@Override
public E first()
{
return set.first();
}
@Override
public E last()
{
return set.last();
}
@Override
public String toString()
{
return set.toString();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment