我正在研究K均值,我需要实现一种向数据添加点的方法。因此,一个点由X和Y两个元素组成。然后,我的方法如下:
public void addPoint(double x, double y) {
List<Data> list = new ArrayList<>();
}
所以我使用ArrayList来存储每个点,因为我认为它效率更高,但是我不知道如何将x和y一起存储为ArrayList的单个元素。谢谢!
答案 0 :(得分:3)
您称为Data
的类应该是一个值对象,该值对象同时包含x
和y
的值。
例如:
public class Data{
private int x;
private int y;
public Data(final int x, final int y){
this.x = x;
this.y = y;
}
public int getX(){
return this.x;
}
public int getY(){
return this.y;
}
public void setX(final int x){
this.x = x;
}
public void setY(final int y){
this.y = y;
}
}
要将元素添加到ArrayList
,只需实例化一个新的Data
对象即可添加到ArrayList
。
list.add(new Data(0, 2));//x-coordinate is 0 and y-coordinate is 2
如果构造函数中没有任何参数,则可以实例化一个新的Data
对象,手动设置x和y值,然后将其添加到ArrayList中。
final Data d = new Data();
d.setX(0);
d.setY(2);
list.add(d);
Data
的构造函数如下:
public Data(){}