Iterator 遍历符号 是按什么顺序输出的呢比如这样的程序import java.util.*;
public class Settest {
    public static void main(String[] args){
    Set set = new TreeSet();
    set.add(",");
    set.add(".");
    set.add("!");
 
  
    Iterator it = set.iterator();
    while(it.hasNext())
        System.out.println(it.next());
    }
}

解决方案 »

  1.   

    public class TreeSet<E>extends AbstractSet<E>implements SortedSet<E>, Cloneable, Serializable此类实现 Set 接口,该接口由 TreeMap 实例支持。此类保证排序后的 set 按照升序排列元素,根据使用的构造方法不同,可能会按照元素的自然顺序 进行排序(参见 Comparable),或按照在创建 set 时所提供的比较器进行排序。按照升序排列 你打印hashcode看看
      Iterator it = set.iterator();
      while(it.hasNext()){
      System.out.println(it.next().hashCode());
      }
      

  2.   

    TreeSet Javadoc如下。
    Iterator<E> iterator() 
              Returns an iterator over the elements in this set in ascending order. 
     Iterator<E> iterator() 
              返回在此 set 中的元素上按升序进行迭代的迭代器。 API已经有明确的说明了。