
ArrayList maintains the insertion order i.e order of the object in which they are inserted. HashSet internally uses Hashmap for its implementation. ArrayList internally implements array for its implementation. HashSet on the other hand is the implementation of a set interface.

Set represents an unordered collection but some of. Maintains insertions order. Allow single null as key and multiple null as values.
ArrayList allows multiple null values. Insert and remove elements also at particular position of ArrayList. Traverse in both directions. Add any type of data into ArrayList. ArrayList is variable length.
Duplicates : HashSet doesn't allow duplicates though ArrayList allows duplicate values.5. Ordering : HashSet is an unordered collection and doesn't maintain any order while ArrayList maintains the order of the object in which they are inserted.4. Find out how HashSet works internally in java for more details.3. Internal implementation: HashSet is backed by an HashMap while ArrayList is backed by an Array.

