Looking at the javadoc I saw the that an ArrayList has an overloaded add method:
public boolean add(E e)
Appends the specified element to
Because it's an extra information which doesn't cost anything and can be useful in certain situations. For example:
Set set = new HashSet();
set.add("foobar");
boolean wasAlreadyThere = set.add("foobar");
Otherwise you would have to do
boolean wasAlreadyThere = set.contains("foobar");
set.add("foobar");
which requires twice the work (first you have to lookup, then lookup again to add).