IList.Sort(IComparator) 方法

定义

根据指定 Comparator的顺序对此列表进行排序。

[Android.Runtime.Register("sort", "(Ljava/util/Comparator;)V", "GetSort_Ljava_util_Comparator_Handler:Java.Util.IList, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)]
public virtual void Sort(Java.Util.IComparator? c);
[<Android.Runtime.Register("sort", "(Ljava/util/Comparator;)V", "GetSort_Ljava_util_Comparator_Handler:Java.Util.IList, Mono.Android, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null", ApiSince=24)>]
abstract member Sort : Java.Util.IComparator -> unit
override this.Sort : Java.Util.IComparator -> unit

参数

c
IComparator

Comparator用于比较列表元素。 一个 null 值指示应使用元素的可比较自然排序

属性

注解

根据指定 Comparator的顺序对此列表进行排序。

此列表中的所有元素都必须使用指定的比较器相互比较(也就是说,c.compare(e1, e2)不得为任何元素e1e2列表中引发)。ClassCastException

如果指定的比较器是 null 此列表中的所有元素,则必须实现 Comparable 接口,并且应使用元素的可比自然排序。

此列表必须可修改,但不需要调整大小。

对于在高于 Nougat(API 级别 > 25)的 Android 版本上运行的应用, Collections#sort(List) 委托给此方法。 此类应用不得从此方法调用 Collections#sort(List) 。 相反,更倾向于根本不重写此方法。 如果必须重写它,请考虑以下实现:

&#064;Override
            public void sort(Comparator&lt;? super E&gt; c) {
              Object[] elements = toArray();
              Arrays.sort(elements, c);
              ListIterator&lt;E&gt; iterator = (ListIterator&lt;Object&gt;) listIterator();
              for (Object element : elements) {
                iterator.next();
                iterator.set((E) element);
              }
            }

已在 1.8 中添加。

Java文档java.util.List.sort(java.util.Comparator<? super E>)

本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。

适用于