You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@commons.apache.org by "Thomas Neidhart (JIRA)" <ji...@apache.org> on 2012/06/23 19:14:42 UTC

[jira] [Resolved] (COLLECTIONS-394) FastTreeMap is not compatible with TreeMap

     [ https://issues.apache.org/jira/browse/COLLECTIONS-394?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Thomas Neidhart resolved COLLECTIONS-394.
-----------------------------------------

       Resolution: Won't Fix
    Fix Version/s: 4.0

The FastTreeMap class has been removed from trunk.

There is no drop-in replacement, but one can use a ConcurrentHashMap from the java.util.concurrent package or a synchronized TreeMap.

Please open new issue if you would like to have an equivalent class in collections 4.0.
                
> FastTreeMap is not compatible with TreeMap
> ------------------------------------------
>
>                 Key: COLLECTIONS-394
>                 URL: https://issues.apache.org/jira/browse/COLLECTIONS-394
>             Project: Commons Collections
>          Issue Type: Bug
>          Components: Map
>    Affects Versions: 3.2.1
>         Environment: all
>            Reporter: Michael Pradel
>             Fix For: 4.0
>
>
> FastTreeMap extends TreeMap in a way that doesn't preserve the superclass behavior. For example, the following code prints 'null', but I would expect it to print '1=1', which is what TreeMap does:
> TreeMap map = new FastTreeMap();
> //TreeMap map = new TreeMap();
> map.put(1, "1");
> map.put(3, "3");
> 		
> Entry e = map.floorEntry(2);
> System.out.println(e);
> This behavior is surprising and can hit you every time a reference of type TreeMap refers to an instance of FastTreeMap. A subclass instance used through a superclass interface shouldn't change the visible behavior of its superclass.
> The reason for this problem seems to be that FastTreeMap both extends TreeMap and delegates to a TreeMap via the 'map' field. I.e., there are  two map instances for a single FastTreeMap instance.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira