topical media & game development

talk show tell print

graphic-processing-site-examples-Topics-Advanced-Data-ArrayListClass-ArrayListClass.pde / pde



  
ArrayList of objects by Daniel Shiffman. This example demonstrates how to use a Java ArrayList to store a variable number of objects. Items can be added and removed from the ArrayList. Click the mouse to add bouncing balls.

  
  
  ArrayList balls;
  int ballWidth = 48;
  
  void setup() {
    size(200, 200);
    smooth();
    noStroke();
  
    // Create an empty ArrayList
    balls = new ArrayList();
    
    // Start by adding one element
    balls.add(new Ball(width/2, 0, ballWidth));
  }
  
  void draw() {
    background(255);
  
    // With an array, we say balls.length, with an ArrayList, we say balls.size()
    // The length of an ArrayList is dynamic
    // Notice how we are looping through the ArrayList backwards
    // This is because we are deleting elements from the list  
    for (int i = balls.size()-1; i >= 0; i--) { 
      // An ArrayList doesn't know what it is storing so we have to cast the object coming out
      Ball ball = (Ball) balls.get(i);
      ball.move();
      ball.display();
      if (ball.finished()) {
        // Items can be deleted with remove()
        balls.remove(i);
      }
      
    }  
    
  }
  
  void mousePressed() {
    // A new ball object is added to the ArrayList (by default to the end)
    balls.add(new Ball(mouseX, mouseY, ballWidth));
  }
  
  


(C) Æliens 20/2/2008

You may not copy or print any of this material without explicit permission of the author or the publisher. In case of other copyright issues, contact the author.