日期:2014-05-20 浏览次数:20964 次
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
------解决方案--------------------