IList.Sort(IComparator) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
根据指定 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
参数
Comparator用于比较列表元素。
一个 null 值指示应使用元素的可比较自然排序
- 属性
注解
根据指定 Comparator的顺序对此列表进行排序。
此列表中的所有元素都必须使用指定的比较器相互比较(也就是说,c.compare(e1, e2)不得为任何元素e1和e2列表中引发)。ClassCastException
如果指定的比较器是 null 此列表中的所有元素,则必须实现 Comparable 接口,并且应使用元素的可比自然排序。
此列表必须可修改,但不需要调整大小。
对于在高于 Nougat(API 级别 > 25)的 Android 版本上运行的应用, Collections#sort(List) 委托给此方法。 此类应用不得从此方法调用 Collections#sort(List) 。 相反,更倾向于根本不重写此方法。 如果必须重写它,请考虑以下实现:
@Override
public void sort(Comparator<? super E> c) {
Object[] elements = toArray();
Arrays.sort(elements, c);
ListIterator<E> iterator = (ListIterator<Object>) listIterator();
for (Object element : elements) {
iterator.next();
iterator.set((E) element);
}
}
已在 1.8 中添加。
Java文档java.util.List.sort(java.util.Comparator<? super E>)。
本页的某些部分是根据 创建和共享的工作进行的修改,并根据 许可证中所述的条款使用。