Table of Contents
Overview
The Set interface in java is a part of the collection framework.
Here is the overview of the classes and interfaces in this interface:
Here are some characteristics of a set:
- You cannot store duplicate values in a set
- As a result of characteristic #1, at most 1 null value is allowed (some implementations of the Set interface in java don’t allow adding null value)
Creating a set
Java, especially since version 8, provides many convenient ways to create a set. Let’s consider some of them here:
private static void createSets() { //Create an empty set Set<String> name = Set.of(); //Create a set with some values Set<String> classmate = Set.of("Jane", "Jake"); //Create a set with just one element Set<Integer> houseNumber = Collections.singleton(111); //Create a HashSet Set<String> friends = new HashSet<>(); friends.add("Jim"); friends.add("Kim"); }
Basic Set operation
Here we explore the basic operations you can do on a Set in Java
Add elements
Set<String> mySet = new HashSet<>(); //add one element mySet.add("Lisa"); //add many elements mySet.addAll(List.of("Leo", "Neo", "Jake"));
Remove elements
//Remove one element mySet.remove("Lisa"); //Remove multiple elements mySet.removeAll(List.of("Leo", "Neo")); //empty the set mySet.clear(); //Use retainAll to keep only the selected elements mySet.addAll(List.of("Jim", "Derek", "Cat", "Horseman")); mySet.retainAll(List.of("Derek", "Cat")); System.out.println("Now the set is: " + mySet);
The output of the following code is:
From the code above, the retainAll
method removed all other elements and only kept the elements specified in the passed-in list.
Inspecting a Set
Java provides some convenient methods to inspect the status of a set:
private static void inspectSet() { Set<String> mySet = new HashSet<>(List.of("Jake", "Luis", "Liam")); //get number of items in the set System.out.println("Number of elements: " + mySet.size()); //check if a set contain an element System.out.println("Contains Luis? " + mySet.contains("Luis")); }
The output of that function when executed is:
Conclusion
This post provides a quick overview of the Set interface in Java. We will dig deeper in the sub interfaces and classes in other posts.
I build softwares that solve problems. I also love writing/documenting things I learn/want to learn.