如何检查 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");
。
其他选项包括:
使用迭代器、增强的 for 循环或 Java 8 流迭代 treePath
的值。
创建另一个地图以映射相同的 DLFolder
对象,但按路径。
在应用程序中我有这个 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");
。
其他选项包括:
使用迭代器、增强的 for 循环或 Java 8 流迭代
treePath
的值。创建另一个地图以映射相同的
DLFolder
对象,但按路径。