迭代树形图以匹配键和值

时间:2013-11-11 05:45:26

标签: java loops treemap

为什么不考虑两个树图中的键和值?我试图看看树图是否完全相同。我一直试图找出一种方法来使用for-each循环或入口集,但我认为某处只有一个小错误......有人能发现它吗?

public static boolean equals(SparseMatrix a, SparseMatrix b) {
    for (Map.Entry<Integer, <Integer, Double> entry : a.entrySet()) {
        if (a.equals(b)) {
            continue;
        }
        else {
            return false;
        }
        return true;

    }
}

我想在没有集合,设置或列表的情况下执行此操作...我想为键集上的每个循环执行更多操作。无论如何?

P.S。构造函数的签名不能改变......

3 个答案:

答案 0 :(得分:0)

您可以在entry中访问entry.getKey()密钥,在循环中访问entry.getValue()

答案 1 :(得分:0)

private <K, V> void iterateOverMap(Map<K, V> map) {
    for (Map.Entry<K, V> entry : map.entrySet()) {
        System.out.println("key ->" + entry.getKey() + ", value->" + entry.getValue());
    }
    }

答案 2 :(得分:0)

  

我正在尝试查看树图是否完全相同。

使用Set的 public boolean containsAll(Collection<?> c) 功能:

Map<Integer, TreeMap<Integer, String>>data = new TreeMap<>();
Map<Integer, TreeMap<Integer, String>>data1 = new TreeMap<>();

// some input

Set<Map.Entry<Integer, TreeMap<Integer, String>>>entrySet = data.entrySet();
Set<Map.Entry<Integer, TreeMap<Integer, String>>>entrySet1 = data1.entrySet();

System.out.println(entrySet.containsAll(entrySet1)); // true if same