You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucenenet.apache.org by ni...@apache.org on 2021/10/19 18:44:54 UTC

[lucenenet] 05/06: Lucene.Net.Util.ListExtensions: Added optimized path for J2N.Collections.Generic.List in AddRange and Sort methods

This is an automated email from the ASF dual-hosted git repository.

nightowl888 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/lucenenet.git

commit 2e8fb68a1e903dadd3b9c11d39cc9a00b46f2f1a
Author: Shad Storhaug <sh...@shadstorhaug.com>
AuthorDate: Mon Oct 18 03:16:44 2021 +0700

    Lucene.Net.Util.ListExtensions: Added optimized path for J2N.Collections.Generic.List<T> in AddRange and Sort methods
---
 src/Lucene.Net/Support/Util/ListExtensions.cs | 15 +++++++++++++++
 1 file changed, 15 insertions(+)

diff --git a/src/Lucene.Net/Support/Util/ListExtensions.cs b/src/Lucene.Net/Support/Util/ListExtensions.cs
index 14b275f..786b864 100644
--- a/src/Lucene.Net/Support/Util/ListExtensions.cs
+++ b/src/Lucene.Net/Support/Util/ListExtensions.cs
@@ -1,5 +1,6 @@
 using System;
 using System.Collections.Generic;
+using JCG = J2N.Collections.Generic;
 
 namespace Lucene.Net.Util
 {
@@ -42,7 +43,13 @@ namespace Lucene.Net.Util
                 throw new ArgumentNullException(nameof(collection));
 
             if (list is List<T> thisList)
+            {
                 thisList.AddRange(collection);
+            }
+            else if (list is JCG.List<T> jcgList)
+            {
+                jcgList.AddRange(collection);
+            }
             else
             {
                 foreach (var item in collection)
@@ -65,6 +72,10 @@ namespace Lucene.Net.Util
             {
                 listToSort.Sort();
             }
+            else if (list is JCG.List<T> jcgListToSort)
+            {
+                jcgListToSort.Sort();
+            }
             else
             {
                 CollectionUtil.TimSort(list);
@@ -85,6 +96,10 @@ namespace Lucene.Net.Util
             {
                 listToSort.Sort(comparer);
             }
+            else if (list is JCG.List<T> jcgListToSort)
+            {
+                jcgListToSort.Sort(comparer);
+            }
             else
             {
                 CollectionUtil.TimSort(list, comparer);