commons-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From scolebou...@apache.org
Subject cvs commit: jakarta-commons/collections/src/java/org/apache/commons/collections/bag AbstractMapBag.java
Date Wed, 03 Dec 2003 01:02:32 GMT
scolebourne    2003/12/02 17:02:32

  Modified:    collections/src/java/org/apache/commons/collections/bag
                        AbstractMapBag.java
  Log:
  Optimise the remove method on a bag
  
  Revision  Changes    Path
  1.3       +11 -4     jakarta-commons/collections/src/java/org/apache/commons/collections/bag/AbstractMapBag.java
  
  Index: AbstractMapBag.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons/collections/src/java/org/apache/commons/collections/bag/AbstractMapBag.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- AbstractMapBag.java	3 Dec 2003 00:49:38 -0000	1.2
  +++ AbstractMapBag.java	3 Dec 2003 01:02:32 -0000	1.3
  @@ -378,13 +378,20 @@
       }
   
       /**
  -     * Removes one copy of the specified object from the bag.
  +     * Removes all copies of the specified object from the bag.
        * 
        * @param object  the object to remove
        * @return true if the bag changed
        */
       public boolean remove(Object object) {
  -        return remove(object, getCount(object));
  +        MutableInteger mut = (MutableInteger) map.get(object);
  +        if (mut == null) {
  +            return false;
  +        }
  +        modCount++;
  +        map.remove(object);
  +        size -= mut.value;
  +        return true;
       }
   
       /**
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org


Mime
View raw message