0

我想为以下数据结构的 .add(int,int) 和 ArraYList 创建方法:

    class CPoint {
    int x;
    int y;
}

为了以下列方式使用它:

    ArrayList<CPoint> ar = new ArrayList<CPoint>();
    ar.add(100,100);

我知道我必须从这样的事情开始:

class CArrayListPoints extends ArrayList<CPoint>{
}

但不确定如何。请在这件事上帮助我。编辑:实现 <-- 扩展

4

3 回答 3

3

您可以像这样创建一个类:

class CArrayListPoints extends ArrayList<CPoint>{

   public void add(int x, int y){
      super.add(new CPoint(x, y);
    }

}

使用这种方式:

CArrayListPoints list = new CArrayListPoint();
list.add(10, 10);
于 2013-03-06T18:46:00.933 回答
1

可能你看起来像这样

class CPoint {
        int x;
        int y;
    }

class CArrayListPoints extends ArrayList<CPoint>{
        public void add(int x, int y){
            CPoint p = new CPoint();
            p.x = x;
            p.y = y;

            add(p);
        }
}
于 2013-03-06T18:47:59.063 回答
0

如果您想要一个包含两个值的列表,HashMap http://docs.oracle.com/javase/6/docs/api/java/util/HashMap.html就是您所需要的。如果您坚持使用 Arraylist,只需创建一个 add(int a,int b) 方法并让每个 CPoint 都有一个包含 x 值的字段。

于 2013-03-06T18:45:06.220 回答