Here are couple of differences between ArrayList and HashSet.
Implementation : ArrayList implements List interface while HashSet implements Set interface in Java.
- Internal implementation:
ArrayList is backed by an Array while HashSet is backed by an HashMap.
- Duplicates :
ArrayList allows duplicate values while HashSet doesn’t allow duplicates values.
- Constructor :
ArrayList have three constructor which are ArrayList(), ArrayList(int capacity) ArrayList(int Collection c) while HashSet have four constructor which are HashSet(), HashSet(int capacity), HashSet(Collection c) and HashSet(int capacity, float loadFactor)
- Ordering :
ArrayList maintains the order of the object in which they are inserted while HashSet is an unordered collection and doesn’t maintain any order.
- Indexing :
ArrayList is index based we can retrieve object by calling get(index) method or remove objects by calling remove(index) method while HashSet is completely object based. HashSet also does not provide get() method.
- Null Object:
ArrayList not apply any restriction, we can add any number of null value while HashSet allow one null value.
ArrayList:-ArrayList list=new ArrayList();
HashSet:-HashSet set=new HashSet();
[1, 2, 3, 4, 5] [1, 2, 3, 5] 1 2 3 5
1 2 3 4
Attention reader! Don’t stop learning now. Get hold of all the important Java Foundation and Collections concepts with the Fundamentals of Java and Java Collections Course at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course.