java - 如何反向迭代嵌套多重映射

标签 java iterator guava multimap

我有一个嵌套的 mulimap,需要以相反的顺序迭代外部级别。

private Multimap<Integer, Multimap<String, String>> stockMatrix 
    = ArrayListMultimap.create();

前向迭代没问题

for (Multimap<String, String> oneRow : stockMatrix.values()) {
..........
}

我研究了使用 stockMatrix.size() 中的 for 循环,但这给了我所有内部 MultiMap 对的计数,而不仅仅是外部级别中的数字。

最佳答案

将所有值放入 List 中并反转该 List,然后迭代它:

final List<Multimap<String, String>> allValues 
    = Lists.newArrayList(stockMatrix.values());

Collections.reverse(allValues);

// iterate over allValues

关于java - 如何反向迭代嵌套多重映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22602066/

相关文章:

JAVA Maven 全新安装测试未完成迭代器

java - 在 Java 中实例化 BiMap 的 google-collections

java - 使用 TreeMap 而不是 HashMap 的 guava multimap?

java - 如何在运行 KITKAT 的设备上使用新的 Lollipop SD 卡访问 API?

java - 套接字多线程 - 读取输入流暂停线程

python - 从生成器函数中检索所有迭代器值

c# - 返回迭代器方法

java - 如何可靠地从 Guava LoadingCache 中删除记录?

java - LDAP 的 JBoss 连接配置

JAVA 使用匹配器/模式查找字符串中括号包围的部分