如何检查TreeMap是否包含特定对象?

时间:2015-01-16 14:11:04

标签: java dictionary collections hashmap treemap

在应用程序中,我有 TreeMap 对象:

treePath = new TreeMap<String, DLFolder>();

第一个String参数应该是键,DLFolder是值。

好的 DLFolder 对象有这个方法 dlFolder.getPath()返回字符串

所以我想知道 treePath 对象是否包含具有特定路径值的 DLFolder 对象

我能做这件事吗?

TNX

4 个答案:

答案 0 :(得分:4)

for (DLFolder dlf : treePath.values()) {
if ("A SPECIFIC PATH".equals(dlf.getPath()) {
// do someting with the dlf
}

答案 1 :(得分:2)

在Java 8中,这是相当简单的。

treePath.values().anyMatch(dlf -> dlf.getPath().equals(specificValue))

答案 2 :(得分:1)

您可以遍历TreeMap

的值
for (DLFoder folder : treePath.values())
    if (folder.getPath().equals(somePathValue))
        // path found!

答案 3 :(得分:1)

如果地图的密钥也是dlFolder.getPath()中存储的值,则是,您只需拨打treePath.contains("Value");即可。

其他选项包括:

  1. 使用迭代器,增强型for循环或Java 8流迭代treePath的值。

  2. 创建另一个地图以映射相同的DLFolder个对象,但是按路径。