1. Table 接口
- Table 有两个key, 行键rowKey 和列键columnKey
- 格式:
KKV
行键/列键/值,等价于Table
== Map >
/**
* – the type of the table row keys
* – the type of the table column keys
* – the type of the mapped values
*/
public interface Table {
V put(@ParametricNullness R rowKey, @ParametricNullness C columnKey, @ParametricNullness V value);
V get(
@CompatibleWith("R") @CheckForNull Object rowKey,
@CompatibleWith("C") @CheckForNull Object columnKey);
Set> cellSet();
Set rowKeySet();
Set columnKeySet();
Collection values();
Map row(@ParametricNullness R rowKey);
Map column(@ParametricNullness C columnKey);
}
|
1.1 Table 接口实现类

2. 实战
2.1 put() / get()
@Test
public void multiKey() {
Table table = HashBasedTable.create();
table.put("rowKey1", "columnKey1", "value1-1");
table.put("rowKey1", "columnKey2", "value1-2");
table.put("rowKey2", "columnKey1", "value2-1");
table.put("rowKey2", "columnKey2", "value2-2");
// {rowKey1={columnKey1=value1-1, columnKey2=value1-2}, rowKey2={columnKey1=value2-1, columnKey2=value2-2}}
System.out.println(table);
System.out.println(table.get("rowKey1", "columnKey1"));
}
2.2 行列集合
@Test
public void multiKey2() {
Table table = HashBasedTable.create();
// 赋值同上
System.out.println("元素集合: " + table.cellSet());
System.out.println("rowKey集合: " + table.rowKeySet());
System.out.println("columnKey集合: " + table.columnKeySet());
System.out.println("value集合: " + table.values());
}
打印结果
元素集合: [(rowKey1,columnKey1)=value1-1, (rowKey1,columnKey2)=value1-2, (rowKey2,columnKey1)=value2-1, (rowKey2,columnKey2)=value2-2]
rowKey集合: [rowKey1, rowKey2]
columnKey集合: [columnKey1, columnKey2]
value集合: [value1-1, value1-2, value2-1, value2-2]
2.3 指定行列键查询
@Test
public void multiKey3() {
Table table = HashBasedTable.create();
// 赋值同上
System.out.println(table);
boolean hasRowKey = table.containsRow("rowKey1");
boolean hasColumnKey = table.containsColumn("columnKey1");
System.out.println(table.row("rowKey1"));
System.out.println(table.row("rowKey1").keySet());
System.out.println(table.column("columnKey1"));
System.out.println(table.column("columnKey1").keySet());
}
打印结果:
{rowKey1={columnKey1=value1-1, columnKey2=value1-2}, rowKey2={columnKey1=value2-1, columnKey2=value2-2}}
{columnKey1=value1-1, columnKey2=value1-2}
[columnKey1, columnKey2]
{rowKey1=value1-1, rowKey2=value2-1}
[rowKey1, rowKey2]
【信息由网络或者个人提供,如有涉及版权请联系COOY资源网邮箱处理】
© 版权声明
本平台(www.cooy.cn)的一切软件、教程及内容信息仅限用于学习和研究,付费仅为收集整理归类费用;
不得将上述内容用于商业或者非法用途,否则一切后果用户自行承担负责。本平台资源、内容、信息均来自来自用户上传,版权争议及其他问题与本平台无关。
您必须在下载后的24个小时之内从您的电脑或手机中彻底删除上述下载内容,如果您喜欢该程序或内容,请支持正版以获取更好的服务。我们非常重视版权问题,如有侵权请发送邮件至下方邮件(655465@qq.com),敬请谅解!
如发现违法违规内容,请联系下方邮箱举报,我们收到后将会第一时间处理。
THE END
暂无评论内容