我想阅读带有Objects的ArrayList示例。(Java)

时间:2011-09-25 08:44:58

标签: java object arraylist

我创建了两个类,我正在尝试调用构造函数(带参数)和方法。如果我只使用一个物体,我觉得很容易。

我的目标:

  1. 使用3个对象调用相同的方法。
  2. 使用ArrayList调用该方法3次。
  3. 我的作业: 我做了一点google。我碰巧以ArrayList及其某些例子的解释结束。我没有找到我认为我需要的例子,例如使用带有对象的ArrayList(比如我的引用)。

    public class DrawGraphics
    {
        BouncingBox box;
    
        /** Initializes this class for drawing. */
        public DrawGraphics()
        {
    
                box = new BouncingBox(200, 50, Color.green);
    
                box.setMovementVector(1, 1);
        }
    //..................
    //................
    }
    

    感谢那些试图提供帮助的人。

2 个答案:

答案 0 :(得分:3)

继续您的示例,这可能会让您了解可以使用哪些列表:

// Let's create an ArrayList that will contain the bouncingboxes
List<BouncingBox> boxList = new ArrayList<BouncingBox>();    

// Let's create 5 of them and add them to the end of the List
for (int ii=0;ii<5;ii++) {
    boxList.add(new BouncingBox(200, 50, Color.green));
}

// Iterate over the List we just created with the enhanced for - the method will
// be called on all objects in the List.
for (BouncingBox box : boxList) {
    box.setMovementVector(1, 1);
}

这是你在找什么?

答案 1 :(得分:0)

我确信这不会有助于原版海报,除非他们上课但是:

此分配的详细信息可在麻省理工学院“opencourseware”上找到,分配的目标是通过修改提供的代码创建3个不同的对象,不需要数组列表,不需要数组,简单创建通过添加类似代码来添加其他框

即:

box = new BouncingBox(200, 50, Color.green);
box.setMovementVector(1, 1);

box2 = new BouncingBox(100, 100, Color.cyan);
box2.setMovementVector(2,-1);

等...

同一个类中的第二个函数也需要修改,它看起来像这样:

   public void draw(Graphics surface) {
        surface.drawLine(50, 50, 250, 250);
        box.draw(surface);
        box2.draw(surface);
        box3.draw(surface);
    }

请注意,如果你真的对编程作为一种职业或爱好感兴趣,但是不明白你在课堂上做了什么,那么寻求帮助是个好主意。简单地在线复制答案将无法将您拯救到现实世界中。