您的位置:首页 > 编程语言 > Go语言

Google Guava学习之Table

2011-06-08 16:39 417 查看
Guava Table是一个比较有意思的容器。可以把它想成一个两维表格,有行(Row)和列(Column),数据在一个格子(Cell)中。

Table可以是稀疏的。

以下是代码实例,展示如何使用它的部分APIs.

import com.google.common.collect.HashBasedTable;
import com.google.common.collect.Table;

public class TryTable {
public static void main(String[] args) {
Table<String, String, String> aTable = HashBasedTable.create();
// create a table;
for (char a = 'A'; a <= 'C'; ++a) {
for (char b = '1'; b <= '3'; ++b) {
// put()
// first is rowKey, second is columnKey, third is the value.
aTable.put(Character.toString(a), Character.toString(b), String.format("%c%c", a, b));
}
}
// query a specific column
System.out.println(aTable.column("2")); // {A=A2, B=B2, C=C2}
// query a specific row
System.out.println(aTable.row("B")); // {3=B3, 2=B2, 1=B1}
// query a cell
System.out.println(aTable.get("B", "2")); // B2
// contains test
System.out.println(aTable.contains("D", "1")); // false
System.out.println(aTable.containsColumn("3")); // true
System.out.println(aTable.containsRow("C"));	// true
System.out.println(aTable.columnMap()); // {3={A=A3, B=B3, C=C3}, 2={A=A2, B=B2, C=C2}, 1={A=A1, B=B1, C=C1}}
System.out.println(aTable.rowMap()); // {A={3=A3, 2=A2, 1=A1}, B={3=B3, 2=B2, 1=B1}, C={3=C3, 2=C2, 1=C1}}
// Remove a cell
System.out.println(aTable.remove("B", "3")); // B3
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: