如何在ArrayList中添加一对数字?

时间:2014-01-29 07:19:07

标签: java arraylist

我正在尝试创建具有特定形状尺寸的ArrayList。我的代码是:

ArrayList<Double> shapes = new ArrayList<Double>();

shapes.add(2.5,3.5); 
shapes.add(5.6,6.5);
shapes.add(8.4,6.9);

我知道这不起作用,但我如何将一对(2.5,3.5)添加到数组中?

3 个答案:

答案 0 :(得分:7)

制作自己的课程:

public class MyClass {
   double x;
   double y;
   public MyClass(double x, double y) {
      this.x = x;
      this.y = y;
   }
}

然后制作该类型的ArrayList

ArrayList<MyClass> shapes = new ArrayList<>();

添加到它:

MyClass pair = new MyClass(2.5,3.5);
shapes.add(pair);

如果您想获得xy坐标,您可以在班级中添加其他方法,例如public double getX() { return x; },然后您可以执行以下操作:

shapes.get(0).getX();

*这只是一个例子,根据您的需要修改代码

答案 1 :(得分:4)

这可能是你在寻找

List<double []> shapes = new ArrayList<>();
shapes.add(new double [] {2.5,3.5});

仍然,更喜欢使用Maroun的建议。这看起来很干净,因为以后您可能想要为该Shape对象添加更多属性。

答案 2 :(得分:1)

创建一个模型类,例如:

public class Dimensions{
   private double l;
   private double b;
  public Dimensions(double l, double b){
    this.l=l;
    this.b=b;
  }
  public void setL(double l){
   this.l=l;
  }
  public void setB(double b){
   this.b=b;
  }
  public double getB(){
   return this.b;
  }
  public double getL(){
   return this.l;
  }
}

现在您可以通过以下方式添加arraylist:

ArrayList<Dimensions> shapes=new ArrayList<Dimensions>();
shapes.add(new Dimensions(2.5,3.5));
shapes.add(new Dimensions(5.6,6.5));

通过以下方式访问它:

double l;
double b;
for(Dimensions dimensions:shapes){
 l=dimensions.getL();
 b=dimensions.getB();
 //some more dimensions specific code goes here
}