0

这是设计使然吗?

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

这样您就可以对 rowMap 进行排序(作为 SortedMap),但不能对 [column, value] 的 notSortedTreeRow (TreeRow) 进行排序?

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

如果我过度简化它,就像这样:

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");
4

1 回答 1

1

做就是了:

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

因为它TreeRow 对象实例,即 SortedMap。它由RowSortedTable接口保证,并且它不会覆盖Table 的 rowMap参数,因为它在 Java 中是不可能的。

编辑:

在这里回答原始问题:

这是设计使然吗?

是的,这是 Java 的设计。

于 2012-07-16T13:08:58.130 回答