gpt4 book ai didi

java - 什么样的集合类来获取数组中的位置?

转载 作者:行者123 更新时间:2023-11-30 03:43:42 28 4
gpt4 key购买 nike

我遇到以下情况,我正在寻求建议,以便在 Java 中“正确”地做到这一点。

我有一个ArrayList,其中包含一个对象列表(我们称之为对象A),

每个对象都由另外两个对象组成,我们称它们为

  • 对象X
  • 和对象Y

class A diagram

现在,在我的代码中,一个方法返回对象 Y 的实例。

现在我需要在 ArrayList 中找到相同对象 Y 的索引。

请问我该如何做,而不做可怕的循环?

我可以用什么来代替ArrayList

最佳答案

使用列表,在列表中查找具有特定值的对象只需要循环查看每个对象,句点。

解决该问题的更自然的选择是将对象放入 Map 中,使用 Y 作为键,使用对象作为值:

Map<Y, A> map = new HashMap<>();

void putA(A a) {
map.put(a.Y, a);
}

A getA(Y y) {
return map.get(y);
}

请注意,映射只为 Y 的每个不同值存储一个 A。它不适合将多个 A 与一个 Y 相关联。为此,您可以使用 Set 映射或类似的东西。

关于java - 什么样的集合类来获取数组中的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26262137/

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