java.lang.Object
javax.management.openmbean.TabularDataSupport
- 所有已实现的接口:
Serializable,Cloneable,Map<Object,,Object> TabularData
public class TabularDataSupport extends Object implements TabularData , Map <Object ,Object >, Cloneable , Serializable
TabularDataSupport 类是开放数据实现TabularData 和Map 接口的类,它在内部基于散列映射数据结构。
- 自从:
- 1.5
- 参见:
-
内部类总结
-
构造方法总结
构造方法构造方法描述TabularDataSupport(TabularType tabularType) 创建一个空的TabularDataSupport实例,其开放类型为表格类型,其底层HashMap具有默认初始容量 (101) 和默认负载因子 (0.75)。TabularDataSupport(TabularType tabularType, int initialCapacity, float loadFactor) 创建一个空的TabularDataSupport实例,其开放类型为表格类型,其基础HashMap具有指定的初始容量和负载因子。 -
方法总结
修饰符和类型方法描述Object[]calculateIndex(CompositeData value) 计算将在此TabularData实例中使用的索引以引用指定的复合数据value参数,如果它被添加到这个实例。voidclear()从此TabularDataSupport实例中删除所有行。clone()返回此TabularDataSupport实例的克隆:通过调用super.clone()获得克隆,然后克隆底层映射。booleancontainsKey(Object key) 当且仅当此TabularData实例包含索引为指定的CompositeData值(即一行)时,返回truekey.booleancontainsKey(Object[] key) 当且仅当此TabularData实例包含索引为指定的CompositeData值(即一行)时,返回truekey.booleancontainsValue(Object value) 当且仅当此TabularData实例包含指定值时返回true。booleancontainsValue(CompositeData value) 当且仅当此TabularData实例包含指定的CompositeData值时,返回true。entrySet()返回索引到此TabularDataSupport实例中包含的行映射的集合视图。boolean比较指定的对象参数与此TabularDataSupport实例相等。此方法只是调用get((Object[]) key)。返回索引为的CompositeData值key或null如果没有值映射到key,在这个TabularData实例中。返回表格类型描述这个TabularData实例。inthashCode()返回此TabularDataSupport实例的哈希码值。booleanisEmpty()如果此TabularDataSupport实例不包含任何行,则返回true。keySet()返回此TabularDataSupport实例的基础map中包含的键的集合视图,用于索引行。此方法只是调用put((CompositeData) value),因此忽略了它的key参数可以是null。voidput(CompositeData value) 添加value到这个TabularData实例。void添加指定map中包含的所有值t到这个TabularData实例。voidputAll(CompositeData[] values) 添加所有元素values到这个TabularData实例。此方法只是调用remove((Object[]) key)。删除索引为的CompositeData值key来自这个TabularData实例,并返回移除的值,或者如果没有索引为的值则返回nullkey.intsize()返回此TabularDataSupport实例中的行数。toString()返回此TabularDataSupport实例的字符串表示形式。values()返回此TabularDataSupport实例中包含的行的集合视图。在接口 java.util.Map 中声明的方法
compute, computeIfAbsent, computeIfPresent, forEach, getOrDefault, merge, putIfAbsent, remove, replace, replace, replaceAll
-
构造方法详细信息
-
TabularDataSupport
创建一个空的TabularDataSupport实例,其开放类型为表格类型,其底层HashMap具有默认初始容量 (101) 和默认负载因子 (0.75)。这个构造函数只是调用
this(tabularType, 101, 0.75f);- 参数:
tabularType- 的表格类型描述这个TabularData实例;不能为空。- 抛出:
IllegalArgumentException- 如果表格类型为空。
-
TabularDataSupport
创建一个空的TabularDataSupport实例,其开放类型为表格类型,其基础HashMap具有指定的初始容量和负载因子。- 参数:
tabularType- 的表格类型描述这个TabularData实例;不能为空。initialCapacity- HashMap 的初始容量。loadFactor- HashMap 的负载因子- 抛出:
IllegalArgumentException- 如果初始容量小于零,或者负载因子为非正数,或者表格类型为空。
-
-
方法详情
-
getTabularType
返回表格类型描述这个TabularData实例。- 指定者:
getTabularType在接口TabularData中- 返回:
- 表格类型。
-
calculateIndex
计算将在此TabularData实例中使用的索引以引用指定的复合数据value参数,如果它被添加到这个实例。此方法检查指定的类型有效性value, 但不检查计算的索引是否已用于引用此TabularData实例中的值。- 指定者:
calculateIndex在接口TabularData中- 参数:
value- 要计算其在此TabularData实例中的索引的复合数据值;必须与此实例的行类型具有相同的复合类型;不得为空。- 返回:
-
指定的索引value在这个
TabularData实例中会有。 - 抛出:
NullPointerException- 如果value是null。InvalidOpenTypeException- 如果value不符合此TabularData实例的行类型定义。
-
containsKey
当且仅当此TabularData实例包含索引为指定的CompositeData值(即一行)时,返回truekey.如果key不能转换为 Object 实例的一维数组,此方法仅返回false;否则返回调用this.containsKey((Object[]) key)的结果。- 指定者:
containsKey在接口Map<Object,中Object> - 参数:
key- 要测试其在此TabularData实例中是否存在的索引值。- 返回:
true如果此TabularData使用指定键索引行值。
-
containsKey
当且仅当此TabularData实例包含索引为指定的CompositeData值(即一行)时,返回truekey.如果key是null或不符合此TabularData实例的TabularType定义,此方法仅返回false。- 指定者:
containsKey在接口TabularData中- 参数:
key- 要测试其在此TabularData实例中是否存在的索引值。- 返回:
true如果此TabularData使用指定键索引行值。
-
containsValue
当且仅当此TabularData实例包含指定的CompositeData值时,返回true。如果value是null或不符合此TabularData实例的行类型定义,此方法仅返回false。- 指定者:
containsValue在接口TabularData中- 参数:
value- 要测试其在此TabularData实例中是否存在的行值。- 返回:
true如果此TabularData实例包含指定的行值。
-
containsValue
当且仅当此TabularData实例包含指定值时返回true。- 指定者:
containsValue在接口Map<Object,中Object> - 参数:
value- 要测试其在此TabularData实例中是否存在的行值。- 返回:
true如果此TabularData实例包含指定的行值。
-
get
此方法只是调用get((Object[]) key)。- 指定者:
get在接口Map<Object,中Object> - 参数:
key- 要返回其关联值的键- 返回:
-
指定键映射到的值,如果此map不包含键的映射,则返回
null - 抛出:
NullPointerException- 如果key是nullClassCastException- 如果key不是Object[]类型InvalidKeyException- 如果key不符合这个TabularData实例的TabularType定义
-
get
返回索引为的CompositeData值key或null如果没有值映射到key,在这个TabularData实例中。- 指定者:
get在接口TabularData中- 参数:
key- 要在此TabularData实例中获取的值的索引;必须对此TabularData实例的行类型定义有效;不得为空。- 返回:
- 对应的值key.
- 抛出:
NullPointerException- 如果key是nullInvalidKeyException- 如果key不符合此TabularData实例的TabularType类型定义。
-
put
此方法只是调用put((CompositeData) value),因此忽略了它的key参数可以是null。- 指定者:
put在接口Map<Object,中Object> - 参数:
key- 一个被忽略的参数。value- 要放置的CompositeData。- 返回:
- 投入的值
- 抛出:
NullPointerException- 如果value是nullClassCastException- 如果value不是CompositeData类型InvalidOpenTypeException- 如果value不符合这个TabularData实例的TabularType定义KeyAlreadyExistsException- 如果密钥为value参数,根据此TabularData实例的TabularType定义计算已映射到现有值
-
put
从接口TabularData复制的描述添加value到这个TabularData实例。的复合类型value必须与此实例的行类型相同(即this.getTabularType().返回的复合类型),并且此getRowType()TabularData实例中不得已经存在其索引与为计算的索引相同的值value待补充。该索引为value根据此TabularData实例的TabularType定义计算(参见TabularType.)。getIndexNames()- 指定者:
put在接口TabularData中- 参数:
value- 要作为新行添加到此TabularData实例的复合数据值;必须与此实例的行类型具有相同的复合类型;不得为空。
-
remove
此方法只是调用remove((Object[]) key)。- 指定者:
remove在接口Map<Object,中Object> - 参数:
key- 一个Object[]表示要删除的密钥。- 返回:
-
与指定键相关联的先前值,或者
null如果没有键的映射。 - 抛出:
NullPointerException- 如果key是nullClassCastException- 如果key不是Object[]类型InvalidKeyException- 如果key不符合这个TabularData实例的TabularType定义
-
remove
删除索引为的CompositeData值key来自这个TabularData实例,并返回移除的值,或者如果没有索引为的值则返回nullkey.- 指定者:
remove在接口TabularData中- 参数:
key- 要在此TabularData实例中获取的值的索引;必须对此TabularData实例的行类型定义有效;不得为空。- 返回:
-
与指定键相关联的先前值,或者
null如果没有键的映射。 - 抛出:
NullPointerException- 如果key是nullInvalidKeyException- 如果key不符合这个TabularData实例的TabularType定义
-
putAll
添加指定map中包含的所有值t到这个TabularData实例。如果可能,此方法将此map中包含的值集合转换为CompositeData值的数组,然后调用方法putAll(CompositeData[])。注意指定map中使用的键t被忽略。例如,此方法允许将具有相同行类型(但可能不同索引名称)的另一个TabularData实例的内容添加到该实例中。- 指定者:
putAll在接口Map<Object,中Object> - 参数:
t- 其值将作为新行添加到此TabularData实例的映射;如果t为null或为空,此方法不执行任何操作返回。- 抛出:
NullPointerException- 如果值在t是null。ClassCastException- 如果值在t不是CompositeData的实例。InvalidOpenTypeException- 如果值在t不符合此TabularData实例的行类型定义。KeyAlreadyExistsException- 如果一个值的索引在t根据此TabularData实例的TabularType定义计算已映射到此实例中的现有值,或中的两个值t有相同的索引。
-
putAll
添加所有元素values到这个TabularData实例。如果任何元素在values不满足put中定义的约束,或者如果任何两个元素values具有根据此TabularData实例的TabularType定义计算的相同索引,然后抛出描述失败的异常并且没有元素values被添加,从而使这个TabularData实例保持不变。- 指定者:
putAll在接口TabularData中- 参数:
values- 要作为新行添加到此TabularData实例的复合数据值数组;如果values为null或为空,此方法不执行任何操作返回。- 抛出:
NullPointerException- 如果元素values是nullInvalidOpenTypeException- 如果元素values不符合此TabularData实例的行类型定义(即其TabularType定义)KeyAlreadyExistsException- 如果一个元素的索引values,根据这个TabularData实例的TabularType定义计算已经映射到这个实例中的现有值,或者两个元素values有相同的索引
-
clear
public void clear()从此TabularDataSupport实例中删除所有行。 -
size
public int size()返回此TabularDataSupport实例中的行数。 -
isEmpty
public boolean isEmpty()如果此TabularDataSupport实例不包含任何行,则返回true。 -
keySet
返回此TabularDataSupport实例的基础map中包含的键的集合视图,用于索引行。此Set中包含的每个键都是不可修改的List<?>因此返回的集合视图是Set<List<?>>但出于兼容性原因被声明为Set<Object>。该集合由该TabularDataSupport实例的底层映射支持,因此对TabularDataSupport实例的更改会反映在该集合中,反之亦然。该集合支持元素删除,即通过Iterator.remove()、Set.remove(java.lang.Object)、Set.removeAll(java.util.Collection<?>)、Set.retainAll(java.util.Collection<?>)和Set.clear()操作从此TabularDataSupport实例中删除相应的行。它不支持Set.add(E)或Set.addAll(java.util.Collection<? extends E>)操作。 -
values
返回此TabularDataSupport实例中包含的行的集合视图。返回的Collection是Collection<CompositeData>但出于兼容性原因被声明为Collection<Object>。返回的集合可用于迭代值。该集合由底层映射支持,因此对TabularDataSupport实例的更改会反映在该集合中,反之亦然。该集合支持元素删除,它通过Iterator.remove()、Collection.remove(java.lang.Object)、Collection.removeAll(java.util.Collection<?>)、Collection.retainAll(java.util.Collection<?>)和Collection.clear()操作从该TabularDataSupport实例中删除对应的索引到行映射。它不支持Collection.add(E)或Collection.addAll(java.util.Collection<? extends E>)操作。 -
entrySet
返回索引到此TabularDataSupport实例中包含的行映射的集合视图。返回集合中的每个元素都是Map.Entry<List<?>,CompositeData>但出于兼容性原因被声明为Map.Entry<Object,Object>。每个映射条目键都是不可修改的List<?>。该集合由该TabularDataSupport实例的底层映射支持,因此对TabularDataSupport实例的更改会反映在该集合中,反之亦然。该集合支持元素删除,即通过Iterator.remove()、Collection.remove(java.lang.Object)、Collection.removeAll(java.util.Collection<?>)、Collection.retainAll(java.util.Collection<?>)和Collection.clear()操作从map中删除相应的映射。它不支持Collection.add(E)或Collection.addAll(java.util.Collection<? extends E>)操作。IMPORTANT NOTICE:不要使用返回的集合视图中包含的
Map.Entry元素的setValue方法。这样做会破坏索引到此TabularDataSupport实例中包含的行映射。 -
clone
返回此TabularDataSupport实例的克隆:通过调用super.clone()获得克隆,然后克隆底层映射。仅对底层映射进行浅表克隆,即不对索引和行值进行克隆,因为它们是不可变的。 -
equals
比较指定的对象参数与此TabularDataSupport实例相等。当且仅当以下所有陈述都为真时,返回
true:- 对象非空,
- 对象还实现了
TabularData接口, - 它们的表格类型相等
- 它们的内容(即所有 CompositeData 值)是相等的。
equals方法适用于对象参数是TabularData接口的不同实现。
-
hashCode
public int hashCode()返回此TabularDataSupport实例的哈希码值。TabularDataSupport实例的哈希码是equals比较中使用的所有信息元素的哈希码的总和(即:它的表格类型及其内容,其中内容定义为所有 CompositeData 值)。这确保
t1.equals(t2)暗示t1.hashCode()==t2.hashCode()对于任何两个TabularDataSupport实例t1和t2,正如方法Object.hashCode()的一般契约所要求的那样。但是,请注意,实现
TabularData接口的类的另一个实例可能等于equals(java.lang.Object)定义的这个TabularDataSupport实例,但如果计算方式不同,则可能具有不同的哈希码。 -
toString
返回此TabularDataSupport实例的字符串表示形式。字符串表示包含此类的名称(即
javax.management.openmbean.TabularDataSupport)、此实例的表格类型的字符串表示以及内容的字符串表示(即列出调用dataMap.toString()返回的键=值映射) .- 指定者:
toString在接口TabularData中- 重写:
toString在类Object中- 返回:
-
此
TabularDataSupport实例的字符串表示形式
-