In this article, we will discuss the difference between List and Set in Java. This is one of the frequently asked questions in Java interviews for beginners.
Difference Between List and Set in Java
1. Ordering
List:
Set:
// Java program to demonstrate ordering in List and Set
import java.util.*;
public class Main
{
public static void main (String[] args)
{
// Create a List and add some elements
List<String> listExample = new ArrayList<>();
listExample.add("Apple");
listExample.add("Banana");
listExample.add("Mango");
listExample.add("Apple");
System.out.println("List elements:");
for(String element : listExample) {
System.out.println(element);
}
// Output:
// Apple
// Banana
// Mango
// Apple
// Create a Set and add some elements
Set<String> setExample = new HashSet<>();
setExample.add("Apple");
setExample.add("Banana");
setExample.add("Mango");
setExample.add("Apple");
System.out.println("\nSet elements:");
for(String element : setExample) {
System.out.println(element);
}
// Output (the order may vary as Set doesn't maintain any order):
// Banana
// Apple
// Mango
}
}
In this example, the List listExample maintains the order of insertion when the elements are printed. The Set setExample, on the other hand, does not maintain any particular order of the elements.
2. Duplicate Elements
List:
The List allows duplicate elements. The same element can be inserted multiple times in different positions.
Set:
Sets don’t allow duplicate elements. If you try to insert a duplicate element in Set, it would overwrite the existing value.
3. Null elements
List:
The List can contain any number of null elements.
Set:
In Set, null can be inserted only once.
4. Positional Access
List:
You can access or remove elements from the List by using the index.
Set:
In Set, you can't access or remove elements using an index due to the non-indexed nature of Set.
5. Implementations
List interface implementations:
- ArrayList
- LinkedList
- Vector
- Stack
Comments
Post a Comment
Leave Comment