ISortedMap 接口

定义

Map 进一 <步在其键上提供 em>total ordering</em> 。

[Android.Runtime.Register("java/util/SortedMap", "", "Java.Util.ISortedMapInvoker")]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public interface ISortedMap : IDisposable, Java.Interop.IJavaPeerable, Java.Util.IMap
[Android.Runtime.Register("java/util/SortedMap", "", "Java.Util.ISortedMapInvoker")]
[Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })]
public interface ISortedMap : IDisposable, Java.Interop.IJavaPeerable, Java.Util.ISequencedMap
[<Android.Runtime.Register("java/util/SortedMap", "", "Java.Util.ISortedMapInvoker")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]
type ISortedMap = interface
    interface IMap
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
[<Android.Runtime.Register("java/util/SortedMap", "", "Java.Util.ISortedMapInvoker")>]
[<Java.Interop.JavaTypeParameters(new System.String[] { "K", "V" })>]
type ISortedMap = interface
    interface IMap
    interface IJavaObject
    interface IDisposable
    interface IJavaPeerable
    interface ISequencedMap
派生
属性
实现

注解

Map 进一 <步在其键上提供 em>total ordering</em> 。 地图按键的“可比”自然排序顺序进行排序,或者通常按 Comparator 排序的地图创建时间提供。 在循环访问排序地图的集合视图(由entrySetkeySetvalues方法返回)时,将反映此顺序。 提供了几个额外的操作来利用排序。 (此接口是 SortedSet.)

插入到排序映射中的所有键都必须实现 Comparable 接口(或由指定的比较器接受)。 此外,所有此类键都必须是<>相互比较<的/em>: k1.compareTo(k2) (或comparator.compare(k1, k2))不得为任何键ClassCastExceptionk1已排序的映射引发。k2 尝试违反此限制将导致有问题的方法或构造函数调用引发 。ClassCastException

请注意,如果排序的映射正确实现<接口,则排序映射(是否提供显式比较器)所维护的顺序必须与>< equals>/emMap 一致。 (有关与 equalsComparable/emComparator 一致的 em<的精确定义>,请参阅<接口或>接口)这是因为Map接口在操作方面equals进行了定义,但已排序的映射使用其 compareTo (或compare) 方法执行所有键比较,因此此方法认为相等的两个键从排序的映射的角度来看是相等的。 即使树状图 em 的行为与相等不一致,树状图 <em>的行为也<>定义良好;它只是不服从接口的Map一般协定。

所有常规用途排序映射实现类都应提供四个“标准”构造函数。 尽管接口无法指定所需的构造函数,但无法强制实施此建议。 所有排序映射实现的预期“标准”构造函数为:<ol><li>A void(无参数)构造函数,该构造函数根据键的自然顺序创建一个按其自然排序的空排序映射。</li li><>A 构造函数具有一个类型Comparator参数,它根据指定的比较器创建一个空排序映射。</li li><>A 构造函数,其类型Map为一个参数,该构造函数使用与其参数相同的键值映射创建一个新映射,根据键的自然排序进行排序。</li li><>A 构造函数,其类型SortedMap为单个参数,该构造函数使用与输入排序映射相同的键值映射和相同的排序方式创建一个新的排序映射。</li></ol>

<strong Note>/strong<>:几种方法返回具有受限键范围的子映射。 此类范围是 <em>半开放</em>,即它们包括其低终结点,但不包括其高终结点(如果适用)。 如果需要 em<封闭范围>/em<(包括两个>终结点),并且密钥类型允许计算给定密钥的后续任务,只需从中lowEndpointsuccessor(highEndpoint)请求子范围即可。 例如,假设 m 这是一个映射,其键是字符串。 以下成语获取一个视图,其中包含其键介于mlow(含)之间的所有键值映射high

SortedMap&lt;String, V&gt; sub = m.subMap(low, high+"\0");

类似的技术可用于生成 em<开放范围>/em<(不包含两个>终结点)。 以下成语获取一个视图,其中包含其键介于mlow独占之间的所有键值映射high

SortedMap&lt;String, V&gt; sub = m.subMap(low+"\0", high);

此接口是 Java 集合框架的成员

已在 1.2 中添加。

适用于 . 的 java.util.SortedMapJava 文档

本页的某些部分是根据 Android 开放源代码项目创建和共享的工作进行的修改,并根据 Creative Commons 2.5 属性许可证中所述的术语使用。

属性

名称 说明
Handle

获取基础 Android 对象的 JNI 值。

(继承自 IJavaObject)
IsEmpty

返回此映射是否为空。

(继承自 IMap)
JniIdentityHashCode

返回包装实例的值 java.lang.System.identityHashCode()

(继承自 IJavaPeerable)
JniManagedPeerState

托管对等方的状态。

(继承自 IJavaPeerable)
JniPeerMembers

成员访问和调用支持。

(继承自 IJavaPeerable)
PeerReference

返回 JniObjectReference 包装的 Java 对象实例。

(继承自 IJavaPeerable)

方法

名称 说明
Clear()

从此映射中删除所有映射(可选操作)。

(继承自 IMap)
Comparator()

返回用于对此映射中的键进行排序的比较器,或者 null 此映射是否使用其键的可比自然排序。

Compute(Object, IBiFunction)

尝试计算指定键及其当前映射值的映射(如果没有 null 当前映射)。

(继承自 IMap)
ComputeIfAbsent(Object, IFunction)

如果指定的键尚未与值(或映射到) null关联,则尝试使用给定的映射函数计算其值,并输入到此映射中,除非 null

(继承自 IMap)
ComputeIfPresent(Object, IBiFunction)

如果指定键的值存在且非 null,则尝试计算给定键及其当前映射值的新映射。

(继承自 IMap)
ContainsKey(Object)

如果 true 此映射包含指定键的映射,则返回。

(继承自 IMap)
ContainsValue(Object)

如果 true 此映射将一个或多个键映射到指定值,则返回。

(继承自 IMap)
Disposed()

在释放实例时调用。

(继承自 IJavaPeerable)
DisposeUnlessReferenced()

如果没有对此实例的未完成引用,则调用 Dispose();否则不执行任何操作。

(继承自 IJavaPeerable)
EntrySet()

返回 Set 此映射中包含的映射的视图。

Equals(Object)

将指定的对象与此映射进行比较,以便相等。

(继承自 IMap)
Finalized()

在实例完成时调用。

(继承自 IJavaPeerable)
FirstEntry()

Map 进一 <步在其键上提供 em>total ordering</em> 。

(继承自 ISequencedMap)
FirstKey()

返回当前在此映射中的第一个(最低)键。

ForEach(IBiConsumer)

为此映射中的每个条目执行给定的操作,直到处理完所有条目或该操作引发异常。

(继承自 IMap)
Get(Object)

返回指定键映射到的值,或者 null 此映射不包含键的映射。

(继承自 IMap)
GetHashCode()

返回此映射的哈希代码值。

(继承自 IMap)
GetOrDefault(Object, Object)

返回指定键映射到的值,或者 defaultValue 此映射不包含键的映射。

(继承自 IMap)
HeadMap(Object)

返回此映射部分的视图,其键严格小于 toKey

KeySet()

返回 Set 此映射中包含的键的视图。

LastEntry()

Map 进一 <步在其键上提供 em>total ordering</em> 。

(继承自 ISequencedMap)
LastKey()

返回当前在此地图中的最后一个(最高)键。

Merge(Object, Object, IBiFunction)

如果指定的键尚未与值关联或与 null 相关联,则将其与给定的非 null 值相关联。

(继承自 IMap)
PollFirstEntry()

Map 进一 <步在其键上提供 em>total ordering</em> 。

(继承自 ISequencedMap)
PollLastEntry()

Map 进一 <步在其键上提供 em>total ordering</em> 。

(继承自 ISequencedMap)
Put(Object, Object)

将此映射中的指定值与指定键相关联(可选操作)。

(继承自 IMap)
PutAll(IDictionary)

将所有映射从指定的映射复制到此映射(可选操作)。

(继承自 IMap)
PutFirst(Object, Object)

如果给定映射尚不存在,则将其插入到映射中,或者替换映射的值(可选操作)。

(继承自 ISequencedMap)
PutIfAbsent(Object, Object)

如果指定的键尚未与值(或映射到 null)关联,则将其与给定值关联并返回 null,则返回当前值。

(继承自 IMap)
PutLast(Object, Object)

如果给定映射尚不存在,则将其插入到映射中,或者替换映射的值(可选操作)。

(继承自 ISequencedMap)
Remove(Object, Object)

仅当指定键当前映射到指定值时,才删除指定键的条目。

(继承自 IMap)
Remove(Object)

如果存在键(可选操作),则从此映射中删除键的映射。

(继承自 IMap)
Replace(Object, Object, Object)

仅当当前映射到指定值时,才会替换指定键的条目。

(继承自 IMap)
Replace(Object, Object)

仅当指定键当前映射到某个值时,才会替换指定键的条目。

(继承自 IMap)
ReplaceAll(IBiFunction)

将每个条目的值替换为在该条目上调用给定函数的结果,直到处理完所有条目或函数引发异常。

(继承自 IMap)
Reversed()

返回此地图的反向排序视图。

(继承自 ISequencedMap)
SequencedEntrySet()

返回 SequencedSet 此地图的 #entrySet entrySet视图。

(继承自 ISequencedMap)
SequencedKeySet()

返回 SequencedSet 此地图的 #keySet keySet视图。

(继承自 ISequencedMap)
SequencedValues()

返回 SequencedCollection 此地图集合的 #values values 视图。

(继承自 ISequencedMap)
SetJniIdentityHashCode(Int32)

设置由 JniIdentityHashCode. 返回的值。

(继承自 IJavaPeerable)
SetJniManagedPeerState(JniManagedPeerStates)

Map 进一 <步在其键上提供 em>total ordering</em> 。

(继承自 IJavaPeerable)
SetPeerReference(JniObjectReference)

设置由 PeerReference. 返回的值。

(继承自 IJavaPeerable)
Size()

返回此映射中的键值映射数。

(继承自 IMap)
SubMap(Object, Object)

返回此映射部分的视图,其键范围从 fromKey非独占键到 toKey独占。

TailMap(Object)

返回此映射部分的视图,其键大于或等于 fromKey

UnregisterFromRuntime()

取消注册此实例,以便运行时不会从将来 Java.Interop.JniRuntime+JniValueManager.PeekValue 的调用中返回它。

(继承自 IJavaPeerable)
Values()

返回 Collection 此映射中包含的值的视图。

显式接口实现

名称 说明
ISequencedMap.PutFirst(Object, Object)

引发 UnsupportedOperationException

ISequencedMap.PutLast(Object, Object)

引发 UnsupportedOperationException

ISequencedMap.Reversed()

Map 进一 <步在其键上提供 em>total ordering</em> 。

扩展方法

名称 说明
GetJniTypeName(IJavaPeerable)

获取实例 self类型的 JNI 名称。

JavaAs<TResult>(IJavaPeerable)

尝试强制self键入TResult,检查强制是否在Java端有效。

JavaCast<TResult>(IJavaObject)

执行 Android 运行时检查的类型转换。

JavaCast<TResult>(IJavaObject)

Map 进一 <步在其键上提供 em>total ordering</em> 。

TryJavaCast<TResult>(IJavaPeerable, TResult)

尝试强制self键入TResult,检查强制是否在Java端有效。

适用于