有多个字符串"C", "A", "B", "E", "D", "F",现要求用Comparator接口,对其从小到大排序,请问该怎么写。我一直不是很懂排序的几个接口

解决方案 »

  1.   

    //: 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;import java.util.*;import com.bruceeckel.util.*;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[] { "C", "A", "B", "E", "D", "F" };        Arrays.sort(list, new AlphabeticComparator1(sort1));
            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;
            }    }
    } // /:~
      

  2.   

    public static String sort1 = "BIG_TO_SMALL";
      public static String sort2 = "SMALL_TO_BIG";  sort1:从大到小
      sort2:从小到大
      

  3.   

    这该是Thinking in java中的吧。能告诉我在哪一面啊
      

  4.   

    字符串已经实现了comparable接口,可以直接排序
      

  5.   

    String[] list = new String[] { "C", "A", "B", "E", "D", "F" };
            Arrays.sort(list,new Comparator(){
                public int compare(Object o1, Object o2) {
                  String s1=o1.toString();
                  String s2=o2.toString();
                  return s1.compareTo(s2);
                }
             });
          System.out.println(Arrays.asList(list));
        }