我有这样的Kvote课:
public class Kvote {
private static int counter = 0;
private double[] vrednost = new double[3];
private int id;
public Kvote(double v1, double v2) {
super();
this.vrednost[1] = v1;
this.vrednost[2] = v2;
this.id = counter;
counter++;
}
public static int getCounter(){
return counter;
}
}
我已经在Main中创建了该类的几个对象:
Kvote k1 = new Kvote(2, 4.25);
Kvote k2 = new Kvote(1.85, 5);
Kvote k3 = new Kvote(1.62, 6.5);
Kvote k4 = new Kvote(1.72, 6);
因此,类Kvote的每个实例都有一些id,对于k1为0,对于k2为1,对于k3为2 ...
是否可以通过其id var值访问对象。例如,如果我请求Id = 2的对象,则得到对象k3 ...
我很难解释为什么我需要这个,但我确实需要。基本上,我的alghorytm需要处理Kvote类的无限数量的对象:k1,k2,k3,k4,k5,k6,k7...。
最佳答案
尝试这个:
HashMap<Integer, Kvote> map = new HashMap<Integer, Kvote>();
put(k1.getId(), k1);
put(k2.getId(), k2);
put(k3.getId(), k3);
put(k4.getId(), k4);
然后使用地图通过ID获取值,例如:
map.get(2) => k3
另外,您需要将getId()函数添加到Kvote类。