日期:2014-05-20 浏览次数:20967 次
import java.util.*;
class  A{
    String sa ;
    A(String str){
        sa = str;
    }
    public String toString(){
        return sa;
    }
}
public class B {
    public static void main(String args[]) {    
        Set<A> set = new HashSet<A>();
        set.add(new A("AAAAAAAA"));
        set.add(new A("BBBBBBBB"));
        set.add(new A("CCCCCCCC"));
        set.add(new A("DDDDDDDD"));        
                                ______;
        while(it.hasNext()){
            System.out.println(it.next());
        }
    }
}
Iterator it = set.iterator();
------解决方案--------------------
这是三行代码的:
Set tSet = new TreeSet(new Comparator<A>() {
            @Override
            public int compare(A o1, A o2) {
                return o2.sa.compareTo(o1.sa);
            }
        });
        tSet.addAll(set);
        Iterator it = tSet.iterator();
        while (it.hasNext()) {
            System.out.println(it.next());
        }
------解决方案--------------------
HashSet 是无序的(跟 hashCode 有关)
如果想按 add 时的顺序遍历的话,可以使用 LinkedHashSet
------解决方案--------------------