K表示-将X和Y添加到列表中

时间:2019-03-01 15:21:48

标签: java

我正在研究K均值,我需要实现一种向数据添加点的方法。因此,一个点由X和Y两个元素组成。然后,我的方法如下:

  public void addPoint(double x, double y) {
    List<Data> list = new ArrayList<>();
  }

所以我使用ArrayList来存储每个点,因为我认为它效率更高,但是我不知道如何将x和y一起存储为ArrayList的单个元素。谢谢!

1 个答案:

答案 0 :(得分:3)

您称为Data的类应该是一个值对象,该值对象同时包含xy的值。

例如:

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(){}