You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@lucenenet.apache.org by "Andrei Iliev (JIRA)" <ji...@apache.org> on 2009/11/20 16:28:40 UTC
[jira] Commented: (LUCENENET-292) Optimization of EquatableList
[ https://issues.apache.org/jira/browse/LUCENENET-292?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12780596#action_12780596 ]
Andrei Iliev commented on LUCENENET-292:
----------------------------------------
EquatableList<T> supposed to be replacement of Java ArrayList. In the current implementation it is not. EquatableList<T> should not override == (!=)operators. In java, operator == compares references but not values. Example in java:
ArrayList list = new ArrayList();
list.add(1);
list.add(2);
list.add(3);
ArrayList list2 = (ArrayList)list.clone();
System.out.println("Equals:"+list2.equals(list)); // will print true
System.out.println("=="+(list2 == list)); // will print false
> Optimization of EquatableList<T>
> --------------------------------
>
> Key: LUCENENET-292
> URL: https://issues.apache.org/jira/browse/LUCENENET-292
> Project: Lucene.Net
> Issue Type: Improvement
> Reporter: Nicholas Paldino
> Priority: Minor
> Attachments: SupportClass.patch
>
>
> When comparing two IEnumerable<T> implementations, a shortcut can be taken to check to see if both IEnumerable<T> expose operations which returns a count of items (sequences cannot be equal if the number of elements in the sequences are not equal).
> Typically, in .NET, this is expressed through the implementation of the ICollection or ICollection<T> interface.
> Before enumerating through each element and comparing the two for equality, if the counts are accessible, they should be compared to see if the number of elements in the two sequences are equal. If a comparison is able to be made before enumerating, it will be much more performant for comparisons of sequences where each is ~N, but both are not equal to N, and N is very large.
> Patch to follow.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.