-
- 所有已知实现类:
-
TabularDataSupport
public interface TabularData
TabularData
接口指定了表示 表格数据结构的特定类型的复杂 开放数据对象的行为。- 从以下版本开始:
- 1.5
-
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 Object[]
calculateIndex(CompositeData value)
计算将在此TabularData
实例中使用的索引,以引用指定的复合数据 值参数(如果已添加到此实例)。void
clear()
从此TabularData
实例中删除所有CompositeData
值(即行)。boolean
containsKey(Object[] key)
如果且仅当此TabularData
实例包含索引为指定 键的CompositeData
值(即一行),则返回true
。boolean
containsValue(CompositeData value)
如果此TabularData
实例包含指定的CompositeData
值,则返回true
。boolean
equals(Object obj)
将指定的 obj参数与此TabularData
实例进行比较以获得相等性。CompositeData
get(Object[] key)
在这个TabularData
实例中,如果没有值映射到 键 ,则返回其索引为 key的CompositeData
值,或null
。TabularType
getTabularType()
返回描述此TabularData
实例的 表格类型 。int
hashCode()
返回此TabularData
实例的哈希码值。boolean
isEmpty()
如果此TabularData
实例中包含的CompositeData
值(即行数)true
则返回true
。Set<?>
keySet()
返回TabularData
实例中包含的CompositeData
值(即行)的键的集合视图(即索引值)。void
put(CompositeData value)
将 值添加到此TabularData
实例。void
putAll(CompositeData[] values)
将 值中的所有元素添加到此TabularData
实例中。CompositeData
remove(Object[] key)
从TabularData
实例中删除索引为 关键字的CompositeData
值,并返回已删除的值,如果没有索引为 key的值,则返回null
。int
size()
返回此TabularData
实例中包含的CompositeData
值(即行数)。String
toString()
返回此TabularData
实例的字符串表示形式。Collection<?>
values()
返回TabularData
实例中包含的CompositeData
值(即行)的集合视图。
-
-
-
方法详细信息
-
getTabularType
TabularType getTabularType()
返回描述此TabularData
实例的 表格类型 。- 结果
- 表格类型。
-
calculateIndex
Object[] calculateIndex(CompositeData value)
计算此TabularData
实例中使用的索引,以引用指定的复合数据值参数(如果已添加到此实例)。 此方法检查指定值的类型有效性,但不检查计算的索引是否已用于引用此TabularData
实例中的值。- 参数
-
value
- 要计算此TabularData
实例中的索引的复合数据值; 必须与此实例的行类型具有相同的复合类型; 不能为空。 - 结果
-
指定的
值在此
TabularData
实例中具有的索引。 - 异常
-
NullPointerException
- 如果 值为null
-
InvalidOpenTypeException
- 如果 值不符合此TabularData
实例的行类型定义。
-
size
int size()
返回TabularData
实例中包含的CompositeData
值(即行数)。- 结果
- 包含的值的数量。
-
isEmpty
boolean isEmpty()
如果此TabularData
实例中包含的CompositeData
值(即行数)true
则返回true
。- 结果
-
如果这个
TabularData
为空,TabularData
true。
-
containsKey
boolean containsKey(Object[] key)
如果此TabularData
实例包含索引为指定键的值为CompositeData
值(即一行),则返回true
。 如果键是null
或者不符合这个TabularData
实例的TabularType
定义,这个方法只需返回false
。- 参数
-
key
- 要在此TabularData
实例中存在的索引值。 - 结果
-
true
如果这个TabularData
用指定的键索引行值。
-
containsValue
boolean containsValue(CompositeData value)
如果且仅当此TabularData
实例包含指定的CompositeData
值时,则返回true
。 如果值为null
或不符合此TabularData
实例的行类型定义,则此方法只返回false
。- 参数
-
value
- 要测试此TabularData
实例中的行值。 - 结果
-
true
如果此TabularData
实例包含指定的行值。
-
get
CompositeData get(Object[] key)
在这个TabularData
实例中,如果没有值映射到 键 ,则返回其索引为 key的CompositeData
值,或null
。- 参数
-
key
- 返回的行的键。 - 结果
- 值对应的 键 。
- 异常
-
NullPointerException
- 如果 键是null
-
InvalidKeyException
- 如果 密钥不符合这个TabularData
实例的*TabularType
定义
-
put
void put(CompositeData value)
将值添加到此TabularData
实例。 当复合型的值必须与此相同实例的行类型(即返回的复合型this.getTabularType().
),而且必须没有在这个现有值getRowType()
TabularData
实例,其指数是相同的值来计算的一个被添加。 值的索引根据TabularData
实例的TabularType
定义计算(见TabularType.
)。getIndexNames()
- 参数
-
value
- 要添加到此TabularData
实例的新行的复合数据值; 必须与此实例的行类型具有相同的复合类型; 不能为空。 - 异常
-
NullPointerException
- 如果 值为null
-
InvalidOpenTypeException
- 如果 值不符合此TabularData
实例的行类型定义。 -
KeyAlreadyExistsException
- 如果根据此TabularData
实例的TabularType
定义计算的 值的索引已经映射到底层HashMap中的现有值。
-
remove
CompositeData remove(Object[] key)
从TabularData
实例中删除其索引为 关键字的CompositeData
值,并返回删除的值,如果没有索引为 key的值,则返回null
。- 参数
-
key
- 在这个TabularData
实例中获取的值的索引; 必须对这个TabularData
实例的行类型定义有效; 不能为空。 - 结果
-
与指定键相关联的上一个值,如果没有键的映射,
null
。 - 异常
-
NullPointerException
- 如果 键是null
-
InvalidKeyException
- 如果 键不符合这个TabularData
实例的TabularType
定义
-
putAll
void putAll(CompositeData[] values)
将值中的所有元素添加到此TabularData
实例中。 如果值中的任何元素不满足put
中定义的约束,或者如果值中的任何两个元素具有根据此TabularData
实例的TabularType
定义计算的相同索引,则抛出描述失败的异常,并且不添加值元素,从而使这个TabularData
实例保持不变。- 参数
-
values
- 要添加到此TabularData
实例的新行的复合数据值数组; 如果值为null
或为空,则此方法返回而不做任何操作。 - 异常
-
NullPointerException
- 如果 值的元素是null
-
InvalidOpenTypeException
- 如果 值的元素不符合此TabularData
实例的行类型定义 -
KeyAlreadyExistsException
- 如果根据此TabularData
实例的TabularType
定义计算的 值元素的索引已经映射到此实例中的现有值,或两个 值的元素具有相同的索引。
-
clear
void clear()
从此TabularData
实例中删除所有CompositeData
值(即行)。
-
keySet
Set<?> keySet()
返回TabularData
实例中包含的CompositeData
值(即行)的键的集合视图(即索引值)。 由于兼容性原因,所返回的Set
是Set<List<?>>
但被声明为Set<?>
。 返回的集合可用于遍历键。- 结果
-
该
TabularData
实例中使用的索引值的设置视图(Set<List<?>>
)。
-
values
Collection<?> values()
返回TabularData
实例中包含的CompositeData
值(即行)的集合视图。 由于兼容性原因,所返回的Collection
是Collection<CompositeData>
但被声明为Collection<?>
。 返回的集合可以用于迭代值。- 结果
-
该
TabularData
实例中包含的行的集合视图(Collection<CompositeData>
)。
-
equals
boolean equals(Object obj)
将指定的obj参数与此TabularData
实例进行比较以获得相等性。如果且仅当以下所有语句均为真时,则返回
true
:- obj是非空,
- obj还实现了
TabularData
接口, - 他们的行类型是相等的
- 它们的内容(即索引到值映射)是相等的
equals
方法适用于对象参数,这是TabularData
接口的不同实现。
- 重写:
-
equals
在Object
- 参数
-
obj
- 要与TabularData
实例相等的对象; - 结果
-
true
如果指定的对象等于这个TabularData
实例。 - 另请参见:
-
Object.hashCode()
,HashMap
-
hashCode
int hashCode()
返回此TabularData
实例的哈希码值。TabularData
实例的哈希码是equals
比较中使用的所有信息元素的哈希码的总和(即:其表格类型及其内容,其中内容被定义为所有的值映射索引)。这确保
t1.equals(t2)
意味着t1.hashCode()==t2.hashCode()
对于任何两个TabularDataSupport
实例t1
和t2
,根据方法Object.hashCode()
的一般合同的要求 。- 重写:
-
hashCode
在Object
- 结果
-
这个
TabularDataSupport
实例的哈希码值 - 另请参见:
-
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
-