First of all, as Campbell already says, an ArrayList and a HashSet are two different things. An ArrayList is an ordered list of elements, internally stored in an array, and a HashSet is an unordered collection, which does not allow duplicates.
You can't say which of the two is "overall faster". Some operations are faster on an ArrayList and some operations are faster on a HashSet, due to how these datastructures are organized internally. The API documentation gives some information about the performance of different operations.
The documentation for ArrayList says:
The size, isEmpty, get, set, iterator, and listIterator operations run in constant time. The add operation runs in amortized constant time, that is, adding n elements requires O(n) time. All of the other operations run in linear time (roughly speaking). The constant factor is low compared to that for the LinkedList implementation.
And the documentation of HashSet says:
This class offers constant time performance for the basic operations (add, remove, contains and size), assuming the hash function disperses the elements properly among the buckets. Iterating over this set requires time proportional to the sum of the HashSet instance's size (the number of elements) plus the "capacity" of the backing HashMap instance (the number of buckets). Thus, it's very important not to set the initial capacity too high (or the load factor too low) if iteration performance is important.