AbstractCollection's isEmpty() calls size(). We can often do better:
- Provide an implementation in AbstractIntSet that checks the interator for at least one element. - Override that in ArrayIntSet so that we're just checking our size again. - Added optimized isEmpty()s for a few of the inner classes in IntSets. git-svn-id: https://samskivert.googlecode.com/svn/trunk@2701 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
@@ -71,6 +71,18 @@ public abstract class AbstractIntSet extends AbstractSet<Integer>
|
|||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* {@inheritDoc}
|
||||||
|
*
|
||||||
|
* <p>This implementation simply checks to see if the interator has a first element.
|
||||||
|
*/
|
||||||
|
@Override
|
||||||
|
public boolean isEmpty ()
|
||||||
|
{
|
||||||
|
// possibly dumb implementation. Override if you can do better.
|
||||||
|
return !interator().hasNext();
|
||||||
|
}
|
||||||
|
|
||||||
// from IntSet
|
// from IntSet
|
||||||
public boolean add (int value)
|
public boolean add (int value)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -268,12 +268,18 @@ public class ArrayIntSet extends AbstractIntSet
|
|||||||
return values;
|
return values;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override // from AbstractSet<Integer>
|
@Override // from AbstractCollection<Integer>
|
||||||
public int size ()
|
public int size ()
|
||||||
{
|
{
|
||||||
return _size;
|
return _size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override // from AbstractCollection<Integer>
|
||||||
|
public boolean isEmpty ()
|
||||||
|
{
|
||||||
|
return (_size == 0);
|
||||||
|
}
|
||||||
|
|
||||||
@Override // from AbstractIntSet
|
@Override // from AbstractIntSet
|
||||||
public boolean retainAll (Collection<?> c)
|
public boolean retainAll (Collection<?> c)
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -210,6 +210,7 @@ public class IntSets
|
|||||||
{
|
{
|
||||||
@Override public boolean contains (int value) { return false; }
|
@Override public boolean contains (int value) { return false; }
|
||||||
@Override public int size () { return 0; }
|
@Override public int size () { return 0; }
|
||||||
|
@Override public boolean isEmpty () { return true; }
|
||||||
|
|
||||||
public Interator interator ()
|
public Interator interator ()
|
||||||
{
|
{
|
||||||
@@ -233,8 +234,9 @@ public class IntSets
|
|||||||
_s = s;
|
_s = s;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override public int size () { return _s.size(); }
|
|
||||||
@Override public boolean contains (int value) { return _s.contains(value); }
|
@Override public boolean contains (int value) { return _s.contains(value); }
|
||||||
|
@Override public int size () { return _s.size(); }
|
||||||
|
@Override public boolean isEmpty () { return _s.isEmpty(); }
|
||||||
|
|
||||||
public Interator interator ()
|
public Interator interator ()
|
||||||
{
|
{
|
||||||
|
|||||||
Reference in New Issue
Block a user