用过的帮下忙吧,定谢!

解决方案 »

  1.   

    Arrays.sort(...);
    看看api就知道了,有很多种
      

  2.   

    我从数据库中的15张表中搜到(人数是变化)不定人数的分数,先把属于每个人的分数(是int的)相加,再把每个人的分数排序的,由于人数的不定所以不能够用arrays的sort(),我搜了一下有用collections的我没用过不知道改用哪个,如果选的不好可能循环会死掉的,understand!
      

  3.   

    确定人数后在觉得创建多大的ARRAY,怎么不能用?????
      

  4.   

    你可以使用Collections.sort(list, new Comparator() {
      public int compare(Object o1, Object o2) {
        MyPerson p1 = (MyPerson)o1;
        MyPerson p2 = (MyPerson)o2;
        return p1.getScore() - p2.getScore();
      }
    });
      

  5.   

    ChDw(米)的方法很实用,我先试试,不过我不太清楚比较的规则是如何定的,我要按分数来降序排列,不知道在哪里设置?
      

  6.   

    Comparator是规则了,如何用呀?谢了
      

  7.   

    Comparator就上面的写代码的用法如果o1 < o2 则返回小于0
    如果o1 == o2则返回0
    如果o1 > o2 则返回大于0 
    至于如何认定o1、o2的大小 那你代码中比较的,上面我就比较了o1.score与o2.score
    如果是降序就改一下return p2.getScore() - p1.getScore();
      

  8.   

    //: c11:DirList.java
    // Displays directory listing.
    // From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002
    // www.BruceEckel.com. See copyright notice in CopyRight.txt.
    package org.luyang.collections;import java.util.Arrays;
    import java.util.Comparator;public class Sort {
        public static String sort1 = "BIG_TO_SMALL";    public static String sort2 = "SMALL_TO_BIG";    public static void main(String[] args) {        String[] list = new String[] { "C1", "A2", "B1", "E1", "D1", "F1" };        Arrays.sort(list, new AlphabeticComparator1(sort2));
            for (int i = 0; i < list.length; i++)
                System.out.println(list[i]);
        }
    }class AlphabeticComparator1 implements Comparator {
        String sort = null;    public AlphabeticComparator1(String sort) {
            this.sort = sort;
        }    public int compare(Object o1, Object o2) {
            String s1 = (String) o1;
            String s2 = (String) o2;
            if ("SMALL_TO_BIG".equalsIgnoreCase(sort)) {
                return s1.toLowerCase().compareTo(s2.toLowerCase());
            } else {
                return s1.toLowerCase().compareTo(s2.toLowerCase()) * -1;
            }
        }
    } // /:~
      

  9.   

    //: c11:DirList.java
    // Displays directory listing.
    // From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002
    // www.BruceEckel.com. See copyright notice in CopyRight.txt.
    package org.luyang.collections;import java.util.Arrays;
    import java.util.Comparator;public class Sort {
        public static String sort1 = "BIG_TO_SMALL";    public static String sort2 = "SMALL_TO_BIG";    public static void main(String[] args) {        String[] list = new String[] { "C1", "A2", "B1", "E1", "D1", "F1" };        Arrays.sort(list, new AlphabeticComparator1(sort2));
            for (int i = 0; i < list.length; i++)
                System.out.println(list[i]);
        }
    }class AlphabeticComparator1 implements Comparator {
        String sort = null;    public AlphabeticComparator1(String sort) {
            this.sort = sort;
        }    public int compare(Object o1, Object o2) {
            String s1 = (String) o1;
            String s2 = (String) o2;
            if ("SMALL_TO_BIG".equalsIgnoreCase(sort)) {
                return s1.toLowerCase().compareTo(s2.toLowerCase());
            } else {
                return s1.toLowerCase().compareTo(s2.toLowerCase()) * -1;
            }
        }
    } // /:~
      

  10.   

    由于分数和人的ID好是对应的我想用treemap来放数据是不是可以的,按照分数来排列是不是可以那?
      

  11.   

    这个需求,不能再数据库查数据的时候加orderby吗