public class TestTemp {
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")); Iterator<A> it  = ________;//请在这里写入一行代码,中间不能再出现分号
while(it.hasNext()){
System.out.println(it.next());
}
}}
class A{
String name;
A(String name){
this.name= name;
}
public String toString(){
return  name;
}
}请在代码中标识的位置写入一句代码,也就是说代码中不能再出现分号了。使程序输出
DDDD
CCCC
BBBB
AAAA
这是今天举行的软件大赛的一道填空题,大家有谁会啊?谢谢!

解决方案 »

  1.   

    貌似Collections类里面有个排倒序的,楼主查api试试
      

  2.   

    如果A 实现 Comparable接口的话
    Iterator<A> it  = new TreeSet<A>(set).descendingIterator();//请在这里写入一行代码,中间不能再出现分号
      

  3.   

    楼上的几位
    难点在于本身的set中是无序的,这样即使可以用
    new LinkedList(set).descendingIterator();
    的出来的也仅仅是把原来set中的元素逆序输出,而不能固定D-C-B-A输出
      

  4.   

    有道理,如果不加其他限制条件(比如A实现Comparable),还真是不太好办。