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