欢迎光临
我们一直在努力

Java中的排序-JSP教程,Java技巧及代码

建站超值云服务器,限时71元/月

要实现排序功能,一般有两种途径,这里对基本类型不适用,基本类型一般有arrays中的静态方法.

1.对象本身实现comparable接口,那么该类的实例就是可以排序的.

有关comparable: http://blog.csdn.net/treeroot/archive/2004/09/09/99613.aspx

只要实现了comparable接口,就可以调用collections的sort方法对集合中的元素排序.

2.指定一个comparator,也就是实现了comparator的类的一个实例.

但是java本身只提供了一个comparator的实现,就是collections.reverseorder().

该方法返回的是一个已经实现了comparable接口的反序.

看一下comparator的全部内容:

public interface comparator {

  int compare(object o1, object o2);

  boolean equals(object obj);

}

定义了两个方法,其实我们一般都只需要实现compare方法就行了,因为类都是默认从object继承

所以会使用object的equals方法.

comparator一般都作为一个匿名类出现,对于没有实现comparable的对象的集合,排序的时候

需要指定一个comparator.

这里举例说明

对于实现了comparable的类我们就用最简单的integer

list list=new arraylist();

list.add(new integer(3));

list.add(new integer(53));

list.add(new integer(34));

collections.sort(list);

对于没有实现comparable的,我们就用object,按照hashcode大小来排序.

list list= new arraylist();

list.add(new object());

list.add(new object());

list.add(new object());

collections.sort(list,new comparator(){ public int compare(object o1, object o2){

                    return (o1.hashcode()-o2.hashcode());

                })

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » Java中的排序-JSP教程,Java技巧及代码
分享到: 更多 (0)

相关推荐

  • 暂无文章