Map集合中Set<Entry<Character,Integer>>entrySet=map.entrySet();

来源:互联网 发布:linux如何gzip压缩 编辑:程序博客网 时间:2024/06/05 04:24

        对于Map集合类,map是用于存储元素对,即通过“键”和“值”来存储元素,每个键对应着一个值,对使用containsKey() 和 containsValue() 遍历 HashMap 中所有元素所需时间的测试表明,containsValue() 所需的时间要长很多。 因此,如果 containsValue() 是应用程序中的性能问题,它将很快显现出来,并可以通过监测您的应用程序轻松地将其识别。 这种情况下,我相信您能够想出一个有效的替换方法来实现 containsValue() 提供的等效功能, 但如果想不出办法,则一个可行的解决方案是再创建一个 Map,并将第一个 Map 的所有值作为键。 这样,第一个 Map 上的 containsValue() 将成为第二个 Map 上更有效的containsKey()。

    然后通过将Map转成set就可以迭代。 map有一个方法叫做entrySet,这方法可以将Map的键值对的映射关系作为set集合的元素存储到Set集合当中,而这种映射关系的类型就是Entry的类型。因此可以通过使用Getkey()和getvalue()两个方法得到Set中存储的键和值


0 0