In Java, a Set is a collection that does not allow duplicate elements. It models the mathematical set abstraction and provides operations such as union, intersection, difference, and subset testing. The Java Collections Framework provides several implementations of the Set interface. Here's an explanation along with examples:
Explanation:
1. No Duplicate Elements:
- Sets do not allow duplicate elements. Adding a duplicate element has no effect.
2. Unordered Collection:
- Unlike Lists, Sets do not maintain the order of elements.
3. Key Methods:
- `add(E e)`: Adds the specified element to the set if it is not already present.
- `remove(Object o)`: Removes the specified element from the set if it is present.
- `contains(Object o)`: Returns true if the set contains the specified element.
- `size()`: Returns the number of elements in the set.
4. Common Implementations:
- `HashSet`: Implements a hash table for storing elements.
- `TreeSet`: Implements a sorted set using a Red-Black tree.
- `LinkedHashSet`: Maintains insertion order.
Example Demonstrations:
Let's demonstrate using some common implementations of the Set interface:
1. HashSet Example:
import java.util.HashSet;
import java.util.Set;
public class HashSetExample {
public static void main(String[] args) {
// Creating a HashSet
Set<String> set = new HashSet<>();
// Adding elements to the set
set.add("Apple");
set.add("Banana");
set.add("Orange");
set.add("Apple"); // Duplicate, will be ignored
// Printing the set
System.out.println("Set: " + set);
// Removing an element
set.remove("Banana");
// Checking if an element is present
System.out.println("Contains Orange? " + set.contains("Orange"));
// Size of the set
System.out.println("Size of set: " + set.size());
}
}
2. TreeSet Example:
import java.util.Set;
import java.util.TreeSet;
public class TreeSetExample {
public static void main(String[] args) {
// Creating a TreeSet
Set<String> set = new TreeSet<>();
// Adding elements to the set
set.add("Orange");
set.add("Apple");
set.add("Banana");
// Printing the set
System.out.println("Set: " + set);
}
}
3. LinkedHashSet Example:
import java.util.LinkedHashSet;
import java.util.Set;
public class LinkedHashSetExample {
public static void main(String[] args) {
// Creating a LinkedHashSet
Set<String> set = new LinkedHashSet<>();
// Adding elements to the set
set.add("Orange");
set.add("Apple");
set.add("Banana");
// Printing the set
System.out.println("Set: " + set);
}
}
Output:
1. HashSet Example:
Set: [Orange, Apple, Banana]
Contains Orange? true
Size of set: 2
2. TreeSet Example:
Set: [Apple, Banana, Orange]
3. LinkedHashSet Example:
Set: [Orange, Apple, Banana]
In these examples, we demonstrated the usage of HashSet, TreeSet, and LinkedHashSet, showcasing how elements are stored and their unique characteristics. Depending on your requirements, you can choose the appropriate Set implementation.
Comments
Post a Comment