🚀 Limited-Time Offer! Get 90% OFF on My Udemy Courses Grab the Deal 🎯

Iterating over a TreeSet in Java

🎓 Top 15 Udemy Courses (80-90% Discount): My Udemy Courses - Ramesh Fadatare — All my Udemy courses are real-time and project oriented courses.

▶️ Subscribe to My YouTube Channel (178K+ subscribers): Java Guides on YouTube

▶️ For AI, ChatGPT, Web, Tech, and Generative AI, subscribe to another channel: Ramesh Fadatare on YouTube

A TreeSet is a collection that implements the SortedSet interface, backed by a TreeMap. It stores elements in a sorted and ascending order. This guide will provide examples of how to iterate over a TreeSet using different methods, including detailed explanations and outputs.

Table of Contents

  1. Introduction
  2. Using Enhanced For-Loop
  3. Using Iterator
  4. Using forEach Method (Java 8)
  5. Using Stream API (Java 8)
  6. Conclusion

1. Introduction

A TreeSet is a part of the Java Collections Framework and is an implementation of the Set interface that maintains elements in ascending order. This makes it useful for scenarios where you need a set that automatically sorts its elements.

2. Using Enhanced For-Loop

The enhanced for-loop (or for-each loop) provides a simple and readable way to iterate over a TreeSet.

Example: Using Enhanced For-Loop

import java.util.TreeSet; import java.util.Set; public class EnhancedForLoopExample { public static void main(String[] args) { Set<String> fruits = new TreeSet<>(); fruits.add("Apple"); fruits.add("Banana"); fruits.add("Orange"); for (String fruit : fruits) { System.out.println(fruit); } } } 

Output:

Apple Banana Orange 

3. Using Iterator

The Iterator provides a way to iterate over the elements and allows element removal during iteration if needed.

Example: Using Iterator

import java.util.Iterator; import java.util.TreeSet; import java.util.Set; public class IteratorExample { public static void main(String[] args) { Set<String> fruits = new TreeSet<>(); fruits.add("Apple"); fruits.add("Banana"); fruits.add("Orange"); Iterator<String> iterator = fruits.iterator(); while (iterator.hasNext()) { String fruit = iterator.next(); System.out.println(fruit); } } } 

Output:

Apple Banana Orange 

4. Using forEach Method (Java 8)

The forEach method is part of the Java 8 Stream API and provides a functional approach to iteration.

Example: Using forEach Method

import java.util.TreeSet; import java.util.Set; public class ForEachMethodExample { public static void main(String[] args) { Set<String> fruits = new TreeSet<>(); fruits.add("Apple"); fruits.add("Banana"); fruits.add("Orange"); // Using forEach with lambda expression fruits.forEach(fruit -> System.out.println(fruit)); // Using forEach with method reference fruits.forEach(System.out::println); } } 

Output:

Apple Banana Orange 

5. Using Stream API (Java 8)

The Stream API provides a powerful way to process sequences of elements, including iteration.

Example: Using Stream API

import java.util.TreeSet; import java.util.Set; public class StreamAPIExample { public static void main(String[] args) { Set<String> fruits = new TreeSet<>(); fruits.add("Apple"); fruits.add("Banana"); fruits.add("Orange"); // Using stream and forEach fruits.stream().forEach(fruit -> System.out.println(fruit)); // Using parallel stream and forEach fruits.parallelStream().forEach(fruit -> System.out.println("Parallel: " + fruit)); } } 

Output:

Apple Banana Orange Parallel: Apple Parallel: Banana Parallel: Orange 

6. Conclusion

In this guide, we covered various methods to iterate over a TreeSet in Java:

  • Using Enhanced For-Loop: Simplifies code and improves readability.
  • Using Iterator: Allows element removal during iteration.
  • Using forEach Method (Java 8): Provides a functional programming approach.
  • Using Stream API (Java 8): Offers powerful operations for processing sequences of elements, including parallel processing.

Each method has its own use cases and advantages. Choose the one that best fits your requirements for readability, functionality, and performance.

Full Example Code

Here is the full example code that demonstrates all the methods for iterating over a TreeSet in Java:

import java.util.Iterator; import java.util.TreeSet; import java.util.Set; public class TreeSetIterationExamples { public static void main(String[] args) { // Create a TreeSet with some elements Set<String> fruits = new TreeSet<>(); fruits.add("Apple"); fruits.add("Banana"); fruits.add("Orange"); // Using Enhanced For-Loop System.out.println("Using Enhanced For-Loop:"); for (String fruit : fruits) { System.out.println(fruit); } // Using Iterator System.out.println("\nUsing Iterator:"); Iterator<String> iterator = fruits.iterator(); while (iterator.hasNext()) { String fruit = iterator.next(); System.out.println(fruit); } // Using forEach Method (Java 8) System.out.println("\nUsing forEach Method (Java 8):"); fruits.forEach(fruit -> System.out.println(fruit)); // Using Stream API (Java 8) System.out.println("\nUsing Stream API (Java 8):"); fruits.stream().forEach(fruit -> System.out.println(fruit)); // Using parallel stream and forEach System.out.println("\nUsing Parallel Stream API (Java 8):"); fruits.parallelStream().forEach(fruit -> System.out.println("Parallel: " + fruit)); } } 

Output:

Using Enhanced For-Loop: Apple Banana Orange Using Iterator: Apple Banana Orange Using forEach Method (Java 8): Apple Banana Orange Using Stream API (Java 8): Apple Banana Orange Using Parallel Stream API (Java 8): Parallel: Apple Parallel: Banana Parallel: Orange 

By using these examples, you should be able to effectively iterate over a TreeSet in Java and choose the method that best fits your needs.

Comments

Spring Boot 3 Paid Course Published for Free
on my Java Guides YouTube Channel

Subscribe to my YouTube Channel (165K+ subscribers):
Java Guides Channel

Top 10 My Udemy Courses with Huge Discount:
Udemy Courses - Ramesh Fadatare