A major question related to arraylists is about when to use arraylists instead of arrays and vice versa. An ArrayList is a dynamic data structure so it can be used when there is no upper bound on the number of elements.
From the other side, a simple Array in java is a static data structure, because the initial size of array cannot be changed, so it can be used only when the data has a known number of elements.
1.ArrayList Constructors
The ArrayList
class supports three constructors.
Arraylist()
This constructor builds an empty list.
ArrayList(Collection<? extends E> c)
This constructor creates a list containing the elements of the specified collection. Note that E is the notation for the type of an element in a collection.
ArrayList(int initialCapacity)
This constructor creates an empty list with the specified initial capacity.
For example, if you want to create an empty array list of Strings then you would do the following:
ArrayList<String> list = new ArrayList<String>();
If you want to create an array list with initial capacity, then you should do the following:
ArrayList<Integer> list = new ArrayList<Integer>(7);
Note that ArrayList
class supports only object types and not primitive types.
2. ArrayList common methods
Here are some of the most useful ArrayList
methods.
- Adding elements to the list
boolean add(Element e)
Adds the specified element to the end of this list.
void add(int index, Element e)
Adds the specified element at the specified position in the list.
- Removing elements from the list
void clear()
Removes all the elements from the list.
E remove(int index)
Removes the element at the specified position in the list.
protected void removeRange(int start, int end)
Removes from the list all the elements starting from indexstart
(included) until indexend
(not included).
- Getting elements from the list
E get(int index)
Returns the element at the specified position.
Object[] toArray()
Returns an array containing all the elements of the list in proper sequence.
- Setting an element
E set(int index, E element)
Replaces the element at the specified position with the specified element.
- Searching elements
boolean contains(Object o)
Returns true if the specified element is found in the list.
int indexOf(Object o)
Returns the index of the first occurrence of the specified element in the list. If this element is not in the list, the method returns -1.
int lastIndexOf(Object o)
Returns the index of the last occurrence of the specified element in the list. If this element is not in the list, the method returns -1.
- Iterating the arraylist
Iterator iterator()
Returns an iterator over the elements in the list.
ListIterator listIterator()
Returns a list iterator over the elements in this list.
- Checking if the list is empty
boolean isEmpty()
Returns true if the list does not contain any element.
- Getting the size of the list
int size()
Returns the length of the list (the number of elements contained in the list).
Those were the most commonly used methods of java.util.ArrayList
. For further details for each method or for other methods that are not mentioned in this section, you can have a look at official java api.