在 Java 中迭代 TreeSet 的方法有哪些?
Treeset 是 AbstractSet 類的一個子類,並實現了 NavigableSet 介面。預設情況下,Treeset 給出了升序的輸出,它將使用 Comparable 介面對集合元素進行排序。在 Treeset 內部,我們只能新增同種型別的元素,否則它會生成 ClassCastException,因為預設情況下 TreeSet 使用 Comparable 介面。
語法
public class TreeSetextends 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
使用 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
廣告