-
- 所有已知实现类:
-
TabularDataSupport
public interface TabularData
TabularData
接口指定表示 表格数据结构的特定类型的复杂 开放数据对象的行为。- 从以下版本开始:
- 1.5
-
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 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)
返回CompositeData
值,其指数是 关键 ,或null
如果没有值映射到 按键 ,在此TabularData
实例。TabularType
getTabularType()
返回描述此TabularData
实例的 表格类型 。int
hashCode()
返回此TabularData
实例的哈希码值。boolean
isEmpty()
如果此TabularData
实例中包含的CompositeData
值(即行数)true
则返回true
。Set<?>
keySet()
返回此TabularData
实例中包含的CompositeData
值(即行)的键(即索引值)的set视图。void
put(CompositeData value)
为此TabularData
实例添加 值 。void
putAll(CompositeData[] values)
将 值中的所有元素添加到此TabularData
实例。CompositeData
remove(Object[] key)
从此TabularData
实例中删除索引为 key的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
。 如果key为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)
返回CompositeData
值,其指数是 关键 ,或null
如果没有值映射到 按键 ,在此TabularData
实例。- 参数
-
key
- 要返回的行的键。 - 结果
- 与 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
实例中删除索引为 key的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
是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是非null,
- obj还实现了
TabularData
接口, - 他们的行类型相同
- 它们的内容(即索引到值映射)是相等的
equals
方法适用于obj参数,这些参数是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)
-
-