黑马程序员技术交流社区
标题:
代码 疑问 求助
[打印本页]
作者:
莫运飞
时间:
2012-4-8 17:36
标题:
代码 疑问 求助
import java.util.*;
class Collections
{
public static void main(String[] args)
{
sort();
}
public static void sort()
{
List<String> List=new ArrayList<String>();
list.add("aaaa");
list.add("fff");
list.add("hhh");
list.add("uuuuu");
list.add("mmm");
sop(list);
collections.sort(list,new Compare01());//为什么比较器会传到这里来呢??
//其他的容器用到比较器时都是传到容器里的。
//例如:TreeSet<String> ts=new TreeSet<String>(new Compare01());
sop(list);
}
public static void sop(Object obj)
{
System.out.println(obj);
}
}
//这个比较器不是这个程序的,拿过来做个参照。
class Compare01 implements Comparator<String>
{
public int compare(String a,String b)
{
//String x=(String)a;
//String y=(String)b;
if(a.length()>b.length())
return 1;
if(a.length()==b.length())
return 0;
return -1;
}}
作者:
黑马-刘昌文
时间:
2012-4-8 18:00
有的集合是带排序的,比如TreeSet,LinkedArrayList,有的没有排序,你想对集合从新排序必须使用带排序的集合,而且集合中的对象必须实现Comparable接口并重写 compare()方法,ArrayList是不带排序的!
作者:
李敏
时间:
2012-4-8 18:24
一句话,Collections 是操作集合的工具类。
你的类名不能这样取名的。
API:
static <T> void sort(List<T> list, Comparator<? super T> c)
根据指定比较器产生的顺序对指定列表进行排序。
作者:
pray
时间:
2014-4-26 06:08
留个脚印```````
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2