gpt4 book ai didi

java - 如何使用不同的键从Map中获取对象?

转载 作者:太空宇宙 更新时间:2023-11-04 08:43:11 25 4
gpt4 key购买 nike

我有一个映射,将我的 ClassA 存储为键,将一些异常存储为值。

我还有一个包含 ClassB 对象的列表。

ClassA 有一个条目 X(长整型),ClassB 有一个条目 Y(ClassY),并且它也有字段 X(字符串)。

现在我应该在 map 中找到 ClassA.getX == ClassB.getY.getX

但问题是我只能通过键在 map 中搜索,并且键对象必须是 ClassA。否则返回 null。

这是我的迭代:

               list = listModelNewSc;
for (int i = 0; i < exceptionMap.size(); i++) {
for (int k = 0; k < list.getSize(); k++) {
if (((ClassA) exceptionMap.get(i)).getX() == Long
.parseLong((((CLassB) list.getElementAt(k)).getY().getX()))) {
Listitem itemAtIndex = list.getItemAtIndex(i);

if (itemAtIndex != null) {
System.out.print("FOUND");
}

}
}
}

最佳答案

使用您描述的设置执行此操作的唯一方法是迭代映射中的所有键,直到找到所需的键。

或者,您可以拥有第二个以 ClassA.getX 作为键的映射(映射到相同的值)。

本质上这是一种权衡,第一个解决方案速度较慢,但​​使用的内存较少,第二个解决方案速度较快,但使用的内存较多(您有 map 的两个副本)。

关于java - 如何使用不同的键从Map中获取对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4867709/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com