Handling arraylists created in a custom class (newbie confusion)
===

Basically, I need to add items to the arraylist. Am I correct in using a separate class  (this is in part what I am practicing here) or is that a stupid idea because it is basically just an arraylist. I thought I would create a class because I want to randomise additions to it, etc. Alternately, since it is just an arraylist class, should I use "extends arraylist" or something similar??? Code examples most welcome. I am obviously missing some crucial programming theory here. Thank you. 


*NOTE* I have removed what I think is unrelated code
I have a main:

    public class cgame2 extends Activity {

	private ArrayList<Integer> cToChooseFromImages; // clear image list

	colourlist colourlistused = new colourlist();
	colourlist userscolourlist = new colourlist();

    ....truncated....towards the end of my code I have......
    colourlistused.randomaddnewitem();

And I have a class (called colourlist):

    import java.util.ArrayList;
    import java.util.Random;
    import android.util.Log;

    public class colourlist {

	private ArrayList<Integer> clist;

	private int picked;

	int imagetodisp;

	public colourlist() {
	}

	public void randomaddnewitem() {
		Random randomtouse = new Random(System.nanoTime());
		picked = randomtouse.nextInt(3);
		clist.add(picked); // this is where the program crashes according to log info
	}
    public void addnewitem(int itemtoadd) {
		clist.add(itemtoadd);
	}

    .....etc.....