在集合类里面,最常用的三个集合是:set,list,map.要完成可以重复的自动排序当然要选择list类,和sort方法。故如下: List mylist=new ArrayList(); mylist.add("a"); mylist.add("b"); mylist.add("a"); mylist.add("a"); mylist.add("b"); mylist.add("a"); mylist.add("a"); mylist.add("b"); mylist.add("a"); Collections.sort(mylist);//完成自动排序结果是: a a a a a a b b b
用HashSet
Collections.sort()进行排序。如果你要自动排序,还真没这么用过。
HashMap map=new HashMap();
map.put(1,"a");
map.put(2,"b");
...
Set st=map.KeySet();
Collections.sort(st);
估计差不多了 忘
保存到集合以后
剩下:"a","b","c","d".
举个例子吧.取出的对象有个元素是日期,日期是有重复的,如果想用日期拿对象,只要把用对象ID和日期做KEY,VALUE是对象入
MAP,然后你把日期放SET排序,再顺序取出.呵呵,我知道我说的和你问的一点关系也没有.就当我灌水了吧
2) 如果已确定使用Collection,那么要考虑单列集合是否有重复。有重复的就使用List接口,否则使用Set。(本题使用List接口)
3) 在使用List时,如果需要对集合中数据进行频繁的插入或删除操作,使用LinkedList,如果只是对集合中的元素进行查询或者插入删除操作不频繁,使用ArrayList。如果需要考虑线程安全问题使用Vector。在使用这些类时,我可以利用java动态绑定的好处,用他们所共同实现的接口来定义变量。
4) 在使用Set时,如果不需要排序,需要在乎速度那就使用HashSet,如果需要对元素进行排序,直接使用TreeSet。
5) 如果使用Map,那么我们要考虑使用的是HashMap、还是TreeMap。无序,速度快的是HashMap。有序速度慢的是TreeMap。
注意:HashTable它虽然实现了Map接口,但不属于集合框架,它与HashMap非常类似。只是HashTable是线程安全的,性能要比HashMap稍低一些。HashMap是在jdk1.1以后用来替代HashTable的。比如说:Properties就是继承与HashTable。如果需要排序,像本题中的排序直接调用Collections.sort(Collection c);也可以自定义排序
List mylist=new ArrayList();
mylist.add("a");
mylist.add("b");
mylist.add("a");
mylist.add("a");
mylist.add("b");
mylist.add("a");
mylist.add("a");
mylist.add("b");
mylist.add("a");
Collections.sort(mylist);//完成自动排序结果是:
a
a
a
a
a
a
b
b
b