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

Howto check if a TreeMap contains a specific object?

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

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

第一个字符串参数应该是键,DLFolder 是值。

好的 DLFolder 对象有这个方法 dlFolder.getPath() 那 return a 字符串

所以我想知道 treePath 对象是否包含具有特定 path[=30 的 DLFolder 对象=]价值

我可以做这件事吗?

Tnx

在 Java 8 中,这非常简单。

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

您可以遍历 TreeMap:

的值
for (DLFoder folder : treePath.values())
    if (folder.getPath().equals(somePathValue))
        // path found!
for (DLFolder dlf : treePath.values()) {
if ("A SPECIFIC PATH".equals(dlf.getPath()) {
// do someting with the dlf
}

如果地图的键也是dlFolder.getPath()中存储的值,那么是的,你可以直接调用treePath.contains("Value");

其他选项包括:

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

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