这样,你就用string.splite,把字符串都进行分割(用.号分割)然后就会得到数组。
这样,如果判断第一个子段是一个全新的,就把它放在一个Arralist里面,如果是存在的,就继续存储,这样,就是有很多得Arraylist.最后在把每个Arraylist按照长度进行排序就可以了:)

解决方案 »

  1.   


    import java.util.*;class ListSort{
      public static void main(String[] args){
        List a = new ArrayList();
        a.add("新闻.天气.预报.信息息" );
        a.add("新闻.天气" );
        a.add("新闻.天气.预报" );
        a.add("新闻.天气" );    print(a);
        System.out.println("");
        Collections.sort(a);
        print(a);
      }  private static void print(Collection c){
        for(Iterator x = c.iterator(); x.hasNext();){
          System.out.println(x.next());
        }
      }
    }结果是:
    新闻.天气.预报.信息息
    新闻.天气
    新闻.天气.预报
    新闻.天气新闻.天气
    新闻.天气
    新闻.天气.预报
    新闻.天气.预报.信息息
      

  2.   

    java.util.Collections.sort(java.util.List);
      

  3.   

    实现Comparable接口,在compareTo方法中实现你的比较大小逻辑,然后再按楼上说的排序就搞定了。
      

  4.   

    用Comparable接口 重写compareTo方法
      

  5.   

    楼上的都说了。
    如果不能改写对象的代码,就用这个
    Collections.sort(List, Comparator)
      

  6.   

    ratjohn(ratjohn) 你懂什么,我想知道的是,应该使用的是collections.sort()方法,
    有些东西,你要是不深入研究,能自己写就自己写,那还要那些api函数干什么?
    如果中国的程序员,都不深入研究,中国的程序员,永远都不会进步,什么都不会很深入了解!
    我希望大家,都能虚心点,不要一位实现目的,而图块速,那样我们不都就成了机器!
      

  7.   

    回复人: eclipse0016() ( ) 信誉:100  2004-07-03 10:38:00  得分: 0  
     
     
       实现Comparable接口,在compareTo方法中实现你的比较大小逻辑,然后再按楼上说的排序就搞定了。
      
     
     回复人: Polarislee(北极星)(灌水是我无言的抗议) ( ) 信誉:105  2004-07-03 21:16:00  得分: 0  
     
     
       楼上的都说了。
    如果不能改写对象的代码,就用这个
    Collections.sort(List, Comparator)
      
     
    正解
      

  8.   

    我马上结贴,就是ratjohn(ratjohn) ,让我郁闷,我们公司就有这样的人!有时候就像干了他!