You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by mo...@apache.org on 2002/02/26 22:48:22 UTC

cvs commit: jakarta-commons/collections RELEASE-NOTES-2.0.html

morgand     02/02/26 13:48:22

  Added:       collections RELEASE-NOTES-2.0.html
  Log:
  converted release notes to HTML, added descriptions of all new
  Collections from the JavaDocs
  
  Revision  Changes    Path
  1.1                  jakarta-commons/collections/RELEASE-NOTES-2.0.html
  
  Index: RELEASE-NOTES-2.0.html
  ===================================================================
  <center><h2>RELEASE NOTES: COLLECTIONS 2.0</h2></center>
  
  
  <center><h3>NEW COLLECTIONS</h3></center>
  
  <p>These collections are new to Collections 2.0:</p>
  
  <ul>
  <li><strong>Bag</strong> - A Collection that keeps a count of its members of the same
      type, using <code>hashCode</code> to check for equality. Suppose
      you have a Bag that contains <code>{a, a, b, c}</code>.  Calling
      getCount on <code>a</code> would return 2, while calling
      uniqueSet would return <code>{a, b, c}</code>.  <i>Note: this is an
      interface with several implementations.</i></li>
  <li><strong>DoubleOrderedMap</strong> - Red-Black tree-based implementation of Map. 
      This class guarantees
      that the map will be in both ascending key order and ascending
      value order, sorted according to the natural order for the key's
      and value's classes.</li>
  <li><strong>FilterListIterator</strong> - A proxy <code>ListIterator</code> which 
      takes a <code>Predicate</code> instance to filter
      out objects from an underlying <code>ListIterator</code> 
      instance. Only objects for which the specified 
      <code>Predicate</code> evaluates to <code>true</code> are
      returned by the iterator.</li>
  <li><strong>HashBag</strong> -  An implementation of <strong>Bag</strong> that is backed by a 
      HashMap.</li>
  <li><strong>MultiMap</strong> - This is simply a Map with slightly different semantics.
      Instead of returning an Object, it returns a Collection.
      So for example, you can put( key, new Integer(1) ); 
      and then a Object get( key ); will return you a Collection 
      instead of an Integer.  This is an interface implemented
      by <strong>MultiHashMap</strong>.</li>
  <li><strong>SequencedHashMap</strong> -  A map of objects whose mapping entries are 
      sequenced based on the order in
      which they were added.</li>
  </ul>
  
  
  <center><h3>CHANGED COLLECTIONS</h3></center>
  
  These classes have changed since Collections 1.0:
  
  <p><u>LRUMap</u></p>
      
  <p>LRUMap has been reimplemented as a subclass of 
  SynchronizedHashMap.  The new implementation of
  LRUMap should be faster, and it also offers true LRU 
  capabilities; now any get(Object) or 
  put(Object,Object) from this collection
  promotes the key to the Most Recently Used position.</p>
      
  <p><i>LRUMap 2.0 compatibility changes:</i></p>
  <ul> 
    <li>LRUMap can no longer be cast to a HashMap.</li>
    <li>The removeLRU() method now has a different 
      signature, and is no longer public.  Instead, use
      remove(getFirstKey()).</li>
    <li>"Externalized" LRUMap 1.0 Objects cannot be
      read by LRUMap 2.0.</li>
  </ul>
          
  <p><i>New features:</i></p>
  <ul>
    <li>True LRU algorithm.</li>
    <li>New methods from SequencedHashMap superclass.</li>
    <li>processRemovedLRU(Object key, Object value) method
      allows subclasses to perform custom actions on 
      keys and values that are expunged from the Map.</li>
  </ul>
          
  <p><i>Bugs fixed:</i></p>
  <ul>
    <li>calling setMaximumSize(int) will remove excess LRUs
      when the current size of the Map exceeds the new
      maximum size</li>
  </ul>
      
  <p><u>ArrayIterator</u></p>
  
  <p><i>Bugs fixed:</i></p>
  <ul>
    <li>ArrayIterator can now iterate over arrays of primatives</li>
  </ul> 
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>