在Java里,List是一非常实用且常用的容器,特别在JavaEE里,我经常会用它装载一类Bean的对个对象。今天偶遇上对List的排序问题,现特意写下心得:
对于List的排序,Java很有一套:
第一步:定义一个比较器:具体为定义一个实现Comparator<T>接口的类,并重写compare方法,定义排序的条件。
这里有几点要注意:1、建议Comparator<T>里德T类型与将要排序的List<T>的T要一致,默认为Object类型。
2、重写compare方法时,要注意不同比较条件下返回值的区别,返回值可有:1,0,-1,这些返回值的不同会影响到排序的顺序,详见下一例子:
public class ArrayComparator implements Comparator<LocationVo>{
@Override
public int compare(LocationVo obj1, LocationVo obj2) {
if(obj1.getLength()==obj2.getLength()){
return 0;
} else if(obj1.getLength()>obj2.getLength()){
return 1;
} else {
return -1;
}
}
}
然后的步骤就十分简单了:
ArrayList<LocationVo> list = new ArrayList<LocationVo>();
.............
Collections.sort(list,new ArrayComparator());
分享到:
相关推荐
arrayList排序arrayList排序arrayList排序
通用ArrayList 排序
arraylist 一维数组排序
ArrayList排序和遍历补充案例.java
主要介绍了java的arraylist排序示例,学习一下arraylist的用法,需要的朋友可以参考下
本文通过代码示例给大家介绍java对arraylist排序,代码简洁易懂,感兴趣的朋友一起学习吧
java中对ArrayList进行排序的方法参考
常常遇到数组排序的问题,下面提供二个java的arraylist排序示例,需要的朋友可以参考下
NULL 博文链接:https://luoxiaohui-java.iteye.com/blog/1489685
用ArrayList实现的排序算法,希望对有需要的同学有帮助,如有错误请指出。JDK版本为1.7
主要介绍了Java ArrayList的不同排序方法,感兴趣的小伙伴们可以参考一下
arraylist 对象中的某个值排序,并非单出的数组排序
ArrayList ArrayList 类是一个可以动态修改的数组,与普通数组的区别就是它是没有固定大小的限制,我们可以添加或删除元素。ArrayList 继承了 AbstractList ,并实现了 List 接口...ArrayList 排序 Java ArrayList 方法
对ArrayList里装载的对象进行自定义排序(任意对象、任何字段、任何规则) ! ArrayList中可装载任何对象,并以指定的该对象的字段对该集合中的对象进行指定形式的排序(正序、反序)。 任何类通用........
用百Collections.reverse(list)即可度。}//先升序排序Collections.sort(list);//再反转Collections.r
主要介绍了Java针对ArrayList自定义排序的2种实现方法,结合实例形式总结分析了Java操作ArrayList自定义排序的原理与相关实现技巧,需要的朋友可以参考下
该资源为C#中的ArrayList 类内核的实现代码。
ASP版ArrayList数组类 集成添加,修改,查询,删除,排序,比较等各种方法
主要介绍了对arraylist中元素进行排序实例代码,还是比较不错的,这里分享给大家,供需要的朋友参考。