How to Remove Items from Set based on a Condition in Java - Step by Step Examples



How to Remove Items from Set based on a Condition in Java ?

Answer

To remove items from a set based on a condition in Java, you can use an iterator and the remove() method.



✐ Examples

1 Remove Even Numbers from a Set

In this example,

  1. First, we create a set of integers named numberSet with values Set numberSet = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));.
  2. Next, we create an iterator for numberSet.
  3. We iterate through the set using the iterator and check if the current number is even.
  4. If the number is even, we remove it using the remove() method of the iterator.
  5. We print the updated set to verify that even numbers have been removed.

Java Program

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Set<Integer> numberSet = new HashSet<>(Arrays.asList(1, 2, 3, 4, 5));
        System.out.println("Original Set: " + numberSet);
        Iterator<Integer> iterator = numberSet.iterator();
        while (iterator.hasNext()) {
            Integer number = iterator.next();
            if (number % 2 == 0) {
                iterator.remove();
            }
        }
        System.out.println("Set after removing even numbers: " + numberSet);
    }
}

Output

Original Set: [1, 2, 3, 4, 5]
Set after removing even numbers: [1, 3, 5]

2 Remove Strings Longer Than 4 Characters from a Set

In this example,

  1. First, we create a set of strings named stringSet with values Set stringSet = new HashSet<>(Arrays.asList("apple", "banana", "orange", "kiwi"));.
  2. Next, we create an iterator for stringSet.
  3. We iterate through the set using the iterator and check if the length of the current string is greater than 4.
  4. If the length is greater than 4, we remove the string using the remove() method of the iterator.
  5. We print the updated set to verify that strings longer than 4 characters have been removed.

Java Program

import java.util.*;

public class Main {
    public static void main(String[] args) {
        Set<String> stringSet = new HashSet<>(Arrays.asList("apple", "banana", "orange", "kiwi"));
        System.out.println("Original Set: " + stringSet);
        Iterator<String> iterator = stringSet.iterator();
        while (iterator.hasNext()) {
            String str = iterator.next();
            if (str.length() > 4) {
                iterator.remove();
            }
        }
        System.out.println("Set after removing strings longer than 4 characters: " + stringSet);
    }
}

Output

Original Set: [apple, banana, orange, kiwi]
Set after removing strings longer than 4 characters: [kiwi, apple]

Summary

In this tutorial, we learned How to Remove Items from Set based on a Condition in Java language with well detailed examples.




More Java Sets Tutorials

  1. How to create an Empty Set in Java ?
  2. How to Initialize a Set in Java ?
  3. How to Get Length of a Set in Java ?
  4. How to create a Set of size N in Java ?
  5. How to create a Set of Numbers from 1 to N in Java ?
  6. How to create a Set of integers in Java ?
  7. How to create a Set of Strings in Java ?
  8. How to Access Items in a Set in Java ?
  9. How to get a Random Item in a Set in Java ?
  10. How to Iterate Over a Set in Java ?
  11. How to check if a Set is Empty in Java ?
  12. How to check if a Set is Not Empty in Java ?
  13. How to get Subset from a Set in Java ?
  14. How to check if a Specific Item is present in the Set in Java ?
  15. How to check if a Set contains all the items of Another Set in Java ?
  16. How to Sort Items of a Set in Java ?
  17. How to Copy a Set in Java ?
  18. How to add an Item to a Set in Java ?
  19. How to find Union of Two Sets in Java ?
  20. How to find Intersection of Two Sets in Java ?
  21. How to check if Two Sets are Equal in Java ?
  22. How to Convert a Set of Integers to a Set of Strings in Java ?
  23. How to Convert a Set of Strings to a Set of Integers in Java ?
  24. How to Convert a Set of Floats to a Set of Strings in Java ?
  25. How to Convert a Set of Strings to a Set of Floats in Java ?
  26. How to Filter Items of a Set based on a Condition in Java ?
  27. How to Remove Specific Item from a Set in Java ?
  28. How to Remove Items from Set based on a Condition in Java ?
  29. How to create a Set of Sets in Java ?