我正在尝试创建具有特定形状尺寸的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)
添加到数组中?
答案 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);
如果您想获得x
或y
坐标,您可以在班级中添加其他方法,例如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
}