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参数,如果它被添加到这个实例。void
clear()
从此TabularDataSupport
实例中删除所有行。clone()
返回此TabularDataSupport
实例的克隆:通过调用super.clone()
获得克隆,然后克隆底层映射。boolean
containsKey
(Object key) 当且仅当此TabularData
实例包含索引为指定的CompositeData
值(即一行)时,返回true
key.boolean
containsKey
(Object[] key) 当且仅当此TabularData
实例包含索引为指定的CompositeData
值(即一行)时,返回true
key.boolean
containsValue
(Object value) 当且仅当此TabularData
实例包含指定值时返回true
。boolean
containsValue
(CompositeData value) 当且仅当此TabularData
实例包含指定的CompositeData
值时,返回true
。entrySet()
返回索引到此TabularDataSupport
实例中包含的行映射的集合视图。boolean
比较指定的对象参数与此TabularDataSupport
实例相等。此方法只是调用get((Object[]) key)
。返回索引为的CompositeData
值key或null
如果没有值映射到key,在这个TabularData
实例中。返回表格类型描述这个TabularData
实例。int
hashCode()
返回此TabularDataSupport
实例的哈希码值。boolean
isEmpty()
如果此TabularDataSupport
实例不包含任何行,则返回true
。keySet()
返回此TabularDataSupport
实例的基础map中包含的键的集合视图,用于索引行。此方法只是调用put((CompositeData) value)
,因此忽略了它的key参数可以是null
。void
put
(CompositeData value) 添加value到这个TabularData
实例。void
添加指定map中包含的所有值t到这个TabularData
实例。void
putAll
(CompositeData[] values) 添加所有元素values到这个TabularData
实例。此方法只是调用remove((Object[]) key)
。删除索引为的CompositeData
值key来自这个TabularData
实例,并返回移除的值,或者如果没有索引为的值则返回null
key.int
size()
返回此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
值(即一行)时,返回true
key.如果key不能转换为 Object 实例的一维数组,此方法仅返回false
;否则返回调用this.containsKey((Object[]) key)
的结果。- 指定者:
containsKey
在接口Map<Object,
中Object> - 参数:
key
- 要测试其在此TabularData
实例中是否存在的索引值。- 返回:
true
如果此TabularData
使用指定键索引行值。
-
containsKey
当且仅当此TabularData
实例包含索引为指定的CompositeData
值(即一行)时,返回true
key.如果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是null
ClassCastException
- 如果key不是Object[]
类型InvalidKeyException
- 如果key不符合这个TabularData
实例的TabularType
定义
-
get
返回索引为的CompositeData
值key或null
如果没有值映射到key,在这个TabularData
实例中。- 指定者:
get
在接口TabularData
中- 参数:
key
- 要在此TabularData
实例中获取的值的索引;必须对此TabularData
实例的行类型定义有效;不得为空。- 返回:
- 对应的值key.
- 抛出:
NullPointerException
- 如果key是null
InvalidKeyException
- 如果key不符合此TabularData
实例的TabularType
类型定义。
-
put
此方法只是调用put((CompositeData) value)
,因此忽略了它的key参数可以是null
。- 指定者:
put
在接口Map<Object,
中Object> - 参数:
key
- 一个被忽略的参数。value
- 要放置的CompositeData
。- 返回:
- 投入的值
- 抛出:
NullPointerException
- 如果value是null
ClassCastException
- 如果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是null
ClassCastException
- 如果key不是Object[]
类型InvalidKeyException
- 如果key不符合这个TabularData
实例的TabularType
定义
-
remove
删除索引为的CompositeData
值key来自这个TabularData
实例,并返回移除的值,或者如果没有索引为的值则返回null
key.- 指定者:
remove
在接口TabularData
中- 参数:
key
- 要在此TabularData
实例中获取的值的索引;必须对此TabularData
实例的行类型定义有效;不得为空。- 返回:
-
与指定键相关联的先前值,或者
null
如果没有键的映射。 - 抛出:
NullPointerException
- 如果key是null
InvalidKeyException
- 如果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是null
InvalidOpenTypeException
- 如果元素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
实例的字符串表示形式
-