写一条java语句

[code="java"]
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;

public class TestTemp {

/**
 * @param args
 */
public static void main(String[] args) {
    Set<A> set = new HashSet<A>();
    set.add(new A("AAAA"));
    set.add(new A("BBBB"));
    set.add(new A("CCCC"));
    set.add(new A("DDDD"));

    //在此处填入一条语句,实现稳定输出结果:
    /*
     * DDDD
     * CCCC
     * BBBB
     * AAAA
     */
    while(it.hasNext()){
        System.out.println(it.next());
    }
}

}
class A{
String name;
A(String name){
this.name= name;
}
public String toString(){
return name;
}
}
[/code]

[code="java"]java.util.TreeSet ts = new java.util.TreeSet(new java.util.Comparator() {
public int compare(A a, A b) {
return a.toString().compareTo(b.toString());
}
});
ts.addAll(set);
Iterator it = ts.descendingIterator();[/code]
同意 nickkane 的, 觉得一开始不采用 HashSet 才合适

mark
Iterator it = new java.util.LinkedHashSet(set).iterator() 不能得到正确结果
TreeSet 需要自定义 Comparator, 不知道怎么在一行代码里同时做加入 comparator 和利用已有的 set 初始化(如果不用 set 初始化, 那就没意思了). 而且 TreeSet 采用的排序是自然序, 该题要求的是自然序还是插入顺序?

既然用了无序集合了,那就只能排序实现了,不然就改用有序集合

做题太死板…………
当它是做题就用System.out.println();不就实现了。还要转什么Set?

[code="java"]
set.clear();
[/code]
呵呵,开玩笑

[code="java"]
// 这样就可以了
Iterator it = new ArrayList(set) {
{
Collections.sort(this, new Comparator
() {
public int compare(A a1, A a2) {
return a2.name.compareTo(a1.name);
}
});
}
}.iterator();
[/code]

[b] 不过这个也绝对稳定 [/b] :D
[code="java"]
Iterator it = new ArrayList() {
{
add("DDDD");
add("CCCC");
add("BBBB");
add("AAAA");
}
}.iterator();
[/code]