java - TreeBasedTable 的 Guava TreeRow 没有排序,尽管它实现了 SortedMap?

标签 java guava treetable

这是设计使然吗?

Map<String, Map<String, String>> rowMap = treeTable.rowMap();
Map<String, String> notSortedTreeRow = rowMap.get(rowId);

这样你就可以对 rowMap 进行排序(如 SortedMap),但不能对 notSortedTreeRow (TreeRow) 进行排序,即 [column, value] ?

编辑:这是我的错,我有一个整数的字符串表示,我的印象是数字字符串是根据数值进行比较的:-)

如果我过度简化它,会是这样的:

TreeBasedTable<String, String, String> table = TreeBasedTable.create();

table.put("1", "8", "x");
table.put("1", "9", "x");
table.put("1", "10", "x");

Map<String,String> map = table.rowMap().get("1");

最佳答案

就这样做:

SortedMap<String, String> sortedRow = (SortedMap<String, String>) rowMap.get(rowId);

因为它 TreeRow 对象实例,它是SortedMap。由 RowSortedTable 保证接口(interface),并且它不会覆盖 Table's rowMap争论,因为这在 Java 中是不可能的。

编辑:

在这里回答原来的问题:

Is this by design?

是的,这是 Java 设计的。

关于java - TreeBasedTable 的 Guava TreeRow 没有排序,尽管它实现了 SortedMap?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11504676/

相关文章:

java - 如何在吗啡中进行聚合?

javascript - TreeTable 中可调整大小的列?

java - Powershell 静默安装 Java

java - GWT DataGrid 复选框

java - 通过大量键值对进行过滤和排序(java)

java - 无法编译 Guava 23 的 SimpleTimeLimiter 示例

java - 将 Guava 的 Optional 与 @XmlAttribute 一起使用

java - 在 SWT 树中选择单元格(多列)

JavaFX/TreeTableView : Relationship between Selection and Focus

java - 如何为类型类的数组编写 'get/set method'?