July 15, 2011 · 2 min read
###### ArrayList Tutorial: **ArrayList** is a member of [collections framework](http://way2java.com/collections/java-collections-framework/) introduced with JDK 1.2. After [Vector](http://way2java.com/collections/vector-methods/), it is the most used. It is an array-based data structure (LinkedList is node-based). The elements added are stored internally as an [array](http://way2java.com/arrays/arrays-introduction-properties/). It **permits duplicates** and **null** values as elements. ArrayList elements can be retrieved with the conventional styles of [foreach loop](http://way2java.com/collections/collections-enhanced-for-loop-foreach/), [iterators](http://way2java.com/collections/iterator-vs-listiterator/) and indexes.