I'm about to start work on an artificial intelligence program for Java. (Sounds like fun!) I'm looking for a class that is a bit like a 2 dimensional ArrayList. I know I could use a 2d Array, but I'd like to be able to do things like insert rows/columns at particular places, label rows/columns with Objects, and use those labels to retrieve values in particular cells. Has anybody had any experience with this sort of utility class, or have you seen any open source projects that do this sort of thing? (I haven't.) Note that I want to store objects rather than numbers in the matrix. Thanks in advance for any help!