黑马程序员技术交流社区

标题: /*看完毕老师视频,关于集合Collections的问题 [打印本页]

作者: 张华廷    时间: 2012-6-25 11:06
标题: /*看完毕老师视频,关于集合Collections的问题
本帖最后由 张华廷 于 2012-6-25 14:12 编辑

/*
集合框架的工具类
Collections;

*/
import java.util.*;
class CollectionsDemo
{
public static void main(String[] args)
{
  sortDemo();
}

public static void sortDemo()
   {
    List<String> list = new ArrayList<String>();
   
    list.add("abcd");
    list.add("aaa");
    list.add("z");
    list.add("kkkk");
    list.add("qq");
    list.add("cc");
    list.add("z");
   
    sop(list);
    //Collections.sort(list);
    Collections.sort(list,new StrLenComparator());
    /*1 错误
d:\Users\Administrator\Desktop\集合>javac CollectionsDemo.java
CollectionsDemo.java:26: 无法从静态上下文中引用非静态 变量 this
                                Collections.sort(list,new StrLenComparator());*/
                                                      
    sop(list);
   }
  
   public static void sop(Object obj)
   {
     System.out.println(obj);
   }
   
class StrLenComparator implements Comparator<String>
{
   public int compare(String s1,String s2)
   {
    if(s1.length()>s2.length())
      return 1;
    if(s1.length()<s2.length())
      return -1;
      return s1.compareTo(s2);
   }
}   
}

作者: 李伟    时间: 2012-6-25 12:44
/*
集合框架的工具类
Collections;

*/
import java.util.*;
class CollectionsDemo
{
        public static void main(String[] args)
        {
                 sortDemo();
        }

        public static void sortDemo()
    {
                List<String> list = new ArrayList<String>();
   
                list.add("abcd");
                list.add("aaa");
                list.add("z");
                list.add("kkkk");
                list.add("qq");
                list.add("cc");
                list.add("z");
   
                sop(list);
            //Collections.sort(list);
                Collections.sort(list,new StrLenComparator());
                 /*1 错误
                d:\Users\Administrator\Desktop\集合>javac CollectionsDemo.java
                CollectionsDemo.java:26: 无法从静态上下文中引用非静态 变量 this
                                Collections.sort(list,new StrLenComparator());*/
                                                      
                sop(list);
   }
  
   public static void sop(Object obj)
   {
     System.out.println(obj);
   }
   
   static class StrLenComparator implements Comparator<String>//也可以在比较器这个类上加上static关键字,静态方法访问的内部类必须是静态的
   {
        public int compare(String s1,String s2)
        {
                        if(s1.length()>s2.length())
                         return 1;
                        if(s1.length()<s2.length())
                         return -1;
                        return s1.compareTo(s2);
                }
        }   
}
作者: 张华廷    时间: 2012-6-25 14:11
谢了,
/*
集合框架的工具类
Collections;



*/
import java.util.*;

class CollectionsDemo
{
        public static void main(String[] args)
        {
                sortDemo();
        }
       
        public static void sortDemo()
                        {
                                List<String> list = new ArrayList<String>();
                               
                                list.add("abcd");
                                list.add("aaa");
                                list.add("z");
                                list.add("kkkk");
                                list.add("qq");
                                list.add("cc");
                                list.add("z");
                               
                                sop(list);
                                //Collections.sort(list);
                                Collections.sort(list,new StrLenComparator());
                               
                                sop(list);
                        }       
               
                        public static void sop(Object obj)
                        {
                                        System.out.println(obj);
                        }
                       
                        static class StrLenComparator implements Comparator<String>
{                                              //静态类,在看毕老师视频上没有去写static
                        public int compare(String s1,String s2)
                        {
                                if(s1.length()>s2.length())
                                                return 1;
                                if(s1.length()<s2.length())
                                                return -1;
                                                return s1.compareTo(s2);
                        }
}                               
}
作者: 张华廷    时间: 2012-6-25 14:12
李伟 发表于 2012-6-25 12:44
/*
集合框架的工具类
Collections;

谢了,哥们,错误解决了、




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2