In this article, we will discuss various ways to iterate through TreeSet – 3 ways
Various ways to iterate through TreeSet:
- Enhanced for-loop introduced in Java 1.5 version
- Iterating using Iterator of Collection interface
- forEach() loop introduced in Java 1.8 version
DifferentWaysToIterateTreeSet.java
package in.bench.resources.collection;
import java.util.Iterator;
import java.util.TreeSet;
public class DifferentWaysToIterateTreeSet {
public static void main(String[] args) {
// creating TreeSet object of type String
TreeSet<String> tset = new TreeSet<String>();
// adding elements to TreeSet object
tset.add("Samsung");
tset.add("iPhone");
tset.add("OnePlus");
tset.add("Motorola");
tset.add("iPhone"); // duplicate object
tset.add("Micromax");
// Way 1: Iterating using enhanced for-loop in Java 1.5
System.out.println("Way 1: Iterating using"
+ " enhanced for-loop in Java 1.5 version\n");
for(String str : tset) {
System.out.println(str);
}
// Way 2: Iterating using Iterator of Collection interface
System.out.println("\n\nWay 2: Iterating using"
+ " Iterator of Collection interface\n");
Iterator<String> itr = tset.iterator();
while(itr.hasNext()) {
System.out.println(itr.next());
}
// Way 3: Iterating using forEach loop in Java 1.8 version
System.out.println("\n\nWay 3: Iterating using"
+ " forEach loop in Java 1.8\n");
tset.forEach(fone -> System.out.println(fone));
}
}
Output:
Way 1: Iterating using enhanced for-loop in Java 1.5 version
Micromax
Motorola
OnePlus
Samsung
iPhone
Way 2: Iterating using Iterator of Collection interface
Micromax
Motorola
OnePlus
Samsung
iPhone
Way 3: Iterating using forEach loop in Java 1.8
Micromax
Motorola
OnePlus
Samsung
iPhone
From above example, TreeSet
- doesn’t allow duplicate elements
- while iterating, retrieves element in natural sorting-order for String type
- maximum of one null object is allowed till Java 1.6 version
- Starting Java 1.7 version, even one null object isn’t allowed
- Throws java.lang.NullPointerException for null object added to TreeSet, if you are using JDK version greater than 1.6
References:
- https://docs.oracle.com/javase/tutorial/collections/intro/
- https://docs.oracle.com/javase/tutorial/collections/interfaces/collection.html
- https://docs.oracle.com/javase/7/docs/api/java/util/Collection.html
- https://docs.oracle.com/javase/tutorial/collections/interfaces/set.html
- https://docs.oracle.com/javase/7/docs/api/java/util/Set.html
- https://docs.oracle.com/javase/7/docs/api/java/util/class-use/HashSet.html
- https://docs.oracle.com/javase/7/docs/api/java/util/HashSet.html
- https://docs.oracle.com/javase/7/docs/api/java/util/TreeSet.html
- https://docs.oracle.com/javase/7/docs/api/java/util/Iterator.html
- https://docs.oracle.com/javase/8/docs/api/java/util/Iterator.html
Happy Coding !!
Happy Learning !!