大家好,我对类集使用的基础太菜了,现在碰到的问题是:
我从数据库中得到了许多对 学号和绩点 的记录,现在想要得到某个学生的绩点的排名,不知到这些成对的数据放什么里面进行排序,具体如何操作,我这里学号是唯一的,绩点是有重复的,望高手赐教,谢谢。

解决方案 »

  1.   

    既然是从数据库取出来的数据,那么,在sql里排序不是更方便吗?select 姓名,绩点 from 表名 order by 绩点 desc
      

  2.   

    你放到HASHMAP里面 key作为序数 第一个就是0,后面增长,value放一个对象,这样你只要在搜索数据得时候作个GROUP BY 绩点,就没问题了
      

  3.   

    没有理解楼上的,哪里能用group by
      

  4.   

    得成绩降序(高分→低分)排列记录集合的sql语句 “select 学号,成绩 from 表名 order by 成绩 desc” 
    依次显示就是已经排好序的 列表了 ,如果想 低→高 去掉 最后那个 desc 就行了  
      

  5.   

    取出来是单科,综合后放数组,最后一个sort
      

  6.   

    public class CompareClass implements Comparable{
      private Vector list = null;
      private int order;
      public CompareClass() {
      }  public int compareTo(Object o){
        int result = 0;    if(o instanceof CompareClass){
          CompareClass cc = (CompareClass)o;
          if(this.order > cc.order){
            result = 1;
          }else if(this.order < cc.order){
            result = -1;
          }else if(this.order == cc.order){
            result = 0;
          }
        }
        return result;
      }  public static void main(String[] args){
        Vector v = new Vector();
        for(int i=10;i>0;i--){
          CompareClass cc = new CompareClass();
          cc.order = i;
          v.add(cc);
        }
        Collections.sort(v);
        Iterator it = v.iterator();
        while(it.hasNext()){
          System.out.println(((CompareClass)it.next()).order);
        }
      }
      

  7.   

    implements Comparable主要要实现这个接口
    实现这个方法 compareTo
    最后用Collections.sort(v);会将你的数据排序好,V里的数据就是按小到大排列的
      

  8.   

    java  排序
    Collections的sort的2个重载方法。
    找些资料来看看吧