gpt4 book ai didi

java - 使用多个数组并递增其中的对象

转载 作者:行者123 更新时间:2023-12-01 05:04:53 25 4
gpt4 key购买 nike

假设我有这些类(class):

public class EdgeI {
public int from;
public int to;

public EdgeI (int a1, int a2) {
from = a1;
to = a2;
}
}

public class VertexI {
public List neighbors;
public String info;

public VertexI (List neig, String str) {
neighbors = neig;
info = str;
}

}

public class vertexWeight {
public int v;
public int w;

public vertexWeight (int vertexNum, int wum) {
v = vertexNum;
w = wum;
}
}

假设我有一个 EdgeI 的列表包含数字对的对象。假设我还有一个列表 VertexI包含空列表和字符串的对象。我想将以下内容添加到空列表中:

假设我将此作为 EdgeI 对象列表

(1,2), (1,2) (1,2), (1,3), (1,3), (1,4)

对于第一个VertexI列表中的对象,我想添加以下列表

(2,3) (3,2) 

到顶点对象。基本上我想获取“to”整数和“to”整数重复的次数并创建 vertexWeight要添加到 neig 列表的对象来自VertexI类(class)。所以neig对于第一个VertexI对象将是 vertexWeight对象 (2,3)(3,2) 。为了实现这一点,我到目前为止创建了这个:

 public void createGraph () {
int oldFrom = -1;
int oldTo = -1;
for(int i = 0; i < edges.size(); i++) {
EdgeI e = edges.get(i);
int from = e.from;
int to = e.to;
VertexI v = vertices.get(from);
v.neighbors.add(new vertexWeight (to, 1));
if (from == oldFrom && to == oldTo){}
//have to add increment the number 1 in the vertex weight object somehow
else {
oldFrom = from;
oldTo = to;
}
}
}

我需要一些技巧或方法来实现这一点?我的逻辑可能不正确,这就是我认为最需要帮助的地方。

最佳答案

我/我们必须对您想要做什么做出一些假设 - 例如,在您的示例中,“to”值是小而简单的整数,但我们没有迹象表明所有“to”值都是属于该类别。

我建议为每个“to”值创建一个 HashMap 条目;索引是与您的“to”条目相对应的整数或浮点型(或 double ),并且该值保存一个 int,您可以在每次遇到“to”值时递增该值。

如果这不能解决您的问题,也许您可​​以解释更多您需要的内容。

关于java - 使用多个数组并递增其中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12868516/

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