Difference between ArrayList and HashSet in Java
Here are couple of differences between ArrayList and HashSet.
-
Inheritance:
-
Implementation:
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. -
Syntax:
ArrayList:-ArrayList list=new ArrayList();HashSet:-
HashSet set=new HashSet();
ArrayList example
// Java program to demonstrate working of ArrayList in Java import java.io.*; import java.util.*; class ArrayListTest { public static void main(String[] args) throws IOException { // size of ArrayList int n = 5; // declaring ArrayList with initial size n List<Integer> al = new ArrayList<>(n); // Appending the new element at the end of the list for (int i = 1; i <= n; i++) { al.add(i); } // Printing elements System.out.println(al); // Remove element at index 3 al.remove(3); // Displaying ArrayList after deletion System.out.println(al); // Printing elements one by one for (int i = 0; i < al.size(); i++) { System.out.print(al.get(i) + " "); } } } |
chevron_right
filter_none
Output:
[1, 2, 3, 4, 5] [1, 2, 3, 5] 1 2 3 5
HashSet example
// Java program to demonstrate working of HashSet import java.util.HashSet; import java.util.Set; class HashSetDemo { public static void main(String[] args) { // Create a HashSet Set<Integer> hs = new HashSet<>(); // add elements to HashSet hs.add(1); hs.add(2); hs.add(3); hs.add(4); // Duplicate removed hs.add(4); // Displaying HashSet elements for (Integer temp : hs) { System.out.print(temp + " "); } } } |
chevron_right
filter_none
Output:
1 2 3 4
Recommended Posts:
- Difference and similarities between HashSet, LinkedHashSet and TreeSet in Java
- Difference between length of Array and size of ArrayList in Java
- Java Collection| Difference between Synchronized ArrayList and CopyOnWriteArrayList
- Difference between ArrayList and CopyOnWriteArrayList
- ArrayList of ArrayList in Java
- HashSet in Java
- Initializing HashSet in Java
- HashSet add() Method in Java
- How to sort HashSet in Java
- HashSet vs TreeSet in Java
- HashSet contains() Method in Java
- Traverse through a HashSet in Java
- HashSet retainAll() method in Java with Example
- HashSet toArray(T[]) method in Java with Example
- Internal working of Set/HashSet in Java
If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.



