User类
private int id;
private String name;
private int age;现有容器
List<Map> list = new ArrayList<Map>Map<String,User> map = new HashMap<String,User>();
map.put(key,User);list.add(map);如果有多个User,怎样让ArrayList对里面的hashmap分别进行 id,name,age的排序?
Collection.sort();
只能对ID排序,如果指定User的age进行排序,一定需要冒泡吗?

解决方案 »

  1.   

    这种数据结构看上去很奇怪,List 里面装 Map ????
      

  2.   

    不懂您为什么要在list中装map,,直接hashmap不行么
      

  3.   

    我来解释一下。
    1.如果你的list中每个map中的key是不重复的,比如这样:
    第一个map中的key有这些:
    key1
    key2
    key3
    第二个map中的key有这些:
    key4
    key5
    那么,为什么你不将这两个map合并在一起呢?2.如果你的list中每个map中的key有重复的key,比如这样:
    第一个map中的key有这些:
    key1
    key2
    key3
    第二个map中的key有这些:
    key2
    key3
    key4
    那请问你,你如何区分你想取的是第一个还是第二个map呢?
    除非你用索引来定位你想要取哪个map。如果是这样的话,那将他们进行排序后你还能分清谁是谁吗?
      

  4.   

    你想干啥呀??继承Comparator不就可以定制你的排序方法了吗?
      

  5.   

    已解决
    实际上是list里有user 
    说错了不是hashmap相当于一个在线列表ArrayList
    然后有很多User 我想对User类其中的age,id等排序。继承Comparator接口就行了。
      

  6.   

    楼主我很怀疑你怎么调用的排序,Collection.sort(list)就会执行出错吧,hashmap无实现对应的Comparable接口。从数据库取出来时排个序吧。。