在 Java 中迭代 TreeSet 的方法有哪些?
Treeset 是 AbstractSet 类的一个子类,并实现了 NavigableSet 接口。默认情况下,Treeset 给出了升序的输出,它将使用 Comparable 接口对集合元素进行排序。在 Treeset 内部,我们只能添加同种类型的元素,否则它会生成 ClassCastException,因为默认情况下 TreeSet 使用 Comparable 接口。
语法
public class TreeSet extends AbstractSet<E> implements NavigableSet<E>, Cloneable, Serializable
我们可以通过两种方式迭代 Treeset。
使用迭代器
我们可以使用迭代器接口迭代 TreeSet 的元素。
示例
import java.util.*; public class IteratingTreeSetTest { public static void main(String[] args) { Set<String> treeSetObj = new TreeSet<String>(); treeSetObj.add("Ramesh"); treeSetObj.add("Adithya"); treeSetObj.add("Jai"); treeSetObj.add("Vamsi"); treeSetObj.add("Chaitanya"); Iterator<String> it = treeSetObj.iterator(); // Iterator interface while (it.hasNext()) { System.out.println(it.next()); } } }
输出
Adithya Chaitanya Jai Ramesh Vamsi
Learn Java in-depth with real-world projects through our Java certification course. Enroll and become a certified expert to boost your career.
使用 for-each 循环
我们可以使用 for-each 循环迭代 TreeSet 的元素。
示例
import java.util.*; public class IteratingTreeSetForEachTest { public static void main(String[] args) { Set<String> treeSetObj = new TreeSet<String>(); treeSetObj.add("India"); treeSetObj.add("Australia"); treeSetObj.add("West Indies"); treeSetObj.add("South Africa"); treeSetObj.add("England"); for(String str : treeSetObj) { // for-each loop System.out.println(str); } } }
输出
Australia England India South Africa West Indies
广告