gpt4 book ai didi

java - 使用特定的对象属性来索引,使用 Map 结构

转载 作者:行者123 更新时间:2023-11-30 08:02:48 24 4
gpt4 key购买 nike

我想在我的 map 结构中使用顶点类的整数 id 值作为索引,而不使用并行数据结构。

class Vertex {
private int v;
private int label;

//...
}

我将顶点对象存储在 Map<Vertex,ArrayList<Edge>> adjMap 中.

是否可以使用我的 Vertex 类的 v 属性作为我的 Map 中的索引键?

最佳答案

这取决于您正在使用的 map 实现。例如,对于 HashMap,您可以重写 Vertex 类的 equalshashCode ,这样,如果两个顶点的 v 属性为平等。

class Vertex {
private int v;
private int label;

public Vertex (int v)
{
this.v = v;
}

@Override
public boolean equals (Object o)
{
if (!(o instanceof Vertex))
return false;
Vertex ov = (Vertex)o;
return this.v == ov.v;
}

@Override
public int hashCode ()
{
return v;
}
}

现在,在 map 中查找给定 v 值的值:

adjMap.containKey(new Vertex(v));

关于java - 使用特定的对象属性来索引,使用 Map 结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31637241/

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