[ 
https://issues.apache.org/jira/browse/COLLECTIONS-439?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13573689#comment-13573689
 ] 

Thomas Neidhart commented on COLLECTIONS-439:
---------------------------------------------

The TreeBag uses internally also a TreeMap, which requires that the used 
comparator must be consistent with equals, i.e. (compare(x,y) == 0) == 
x.equals(y).

>From your description I understand that your comparator violates this 
>requirement, so this is not a bug, but could be an improvement.

The attached bug has a few problems:

 * we can not add external dependencies to e.g. jena
 * missing test case
                
> TreeBag with comparator does not store non-key duplicates.
> ----------------------------------------------------------
>
>                 Key: COLLECTIONS-439
>                 URL: https://issues.apache.org/jira/browse/COLLECTIONS-439
>             Project: Commons Collections
>          Issue Type: Bug
>          Components: Bag
>    Affects Versions: 3.2.1
>            Reporter: Claude Warren
>         Attachments: SortedBag.java
>
>
> When storing objects that are sorted by a Comparator, if the differences in 
> the objects are not in the comparator the same version of the object is 
> returned.  I expected that the sorted bag would work like a DB table with a 
> non-unique key -- ordered but duplicate only determined by Object.equals().
> I have implemented this type of bag using a TreeMap of List.  My 
> implementation uses the Jena ExtendedIterator to make building the iterator() 
> and array() methods easier.
> Will attach the code.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to