在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的性能可能不如使用LinkedList,因为ArrayList排序时涉及到大量的索引计算和元素移动。 - 如果ArrayList中元素的类型不一致,`Collections.sort()`会抛出ClassCastException异常,...
通用ArrayList 排序
本篇文章将深入探讨ArrayList的排序以及数组排序的相关知识点。 首先,ArrayList的排序主要依赖于`Sort()`方法。这个方法是ArrayList类中的一个成员,它通过快速排序算法对ArrayList中的元素进行原地排序。快速排序...
ArrayList排序和遍历补充案例.java
在这个示例中,我们将深入探讨如何对ArrayList中的对象进行排序,以及ArrayList的一些基本用法。 首先,我们创建了一个名为`Test`的类,其中包含主方法`main`,这是程序的入口点。在`main`方法中,我们实例化了几个...
java中对ArrayList进行排序的方法参考
然而,ArrayList本身并不提供排序功能,但我们可以借助Java的Collections类提供的sort()方法来实现排序。本文将通过三个示例详细讲解如何在Java中对ArrayList进行排序。 首先,我们来看一个简单的例子,创建一个名...
总结一下,Java中对ArrayList排序的步骤包括: 1. 创建一个ArrayList,并填充需要排序的对象。 2. 实现Comparator接口,创建一个或多个比较器类,覆盖`compare()`方法,定义排序规则。 3. 使用`Collections.sort()`...
在Java编程中,基于ArrayList的对象多属性值排序是一项常见的任务,尤其在处理数据集合时。ArrayList是Java集合框架的一部分,它提供了动态数组的功能,允许我们存储和操作对象数组。本主题将深入探讨如何对...
本篇将重点讲解如何利用ArrayList实现快速排序(Quick Sort)、归并排序(Merge Sort)和堆排序(Heap Sort)这三种经典的排序算法,并探讨它们的原理、优缺点以及在实际应用中的选择。 **快速排序(Quick Sort)**...
本篇文章将深入探讨如何使用ArrayList进行反转排序。在给出的标题和描述中,我们看到了两种方法,分别是反转ArrayList和对ArrayList进行排序。 首先,我们来看如何反转ArrayList。在Java中,我们可以使用`...
ArrayList排序 ArrayList本身不支持排序,但可以通过`Collections.sort()`方法对其进行排序: ```java Collections.sort(list); ``` ### 特别注意 ArrayList是非线程安全的,这意味着在多线程环境下,多个线程...
当我们说“arraylist对象中的某个值排序”时,这通常指的是对ArrayList中的元素,而不是ArrayList本身进行排序。ArrayList不支持直接排序,但是我们可以通过调用Collections.sort()方法或者自定义Comparator来实现。...
7. **集合的遍历与排序输出**:在完成数据录入并排序后,可以通过迭代Set(如`TreeSet`)或使用`Collections.sort()`方法对ArrayList排序,然后逐个输出每个学生的相关信息。 在Eclipse这样的集成开发环境中,可以...
ArrayList提供了丰富的成员方法来操作其中的元素,如添加、删除、查找和排序等。 2. **动态添加元素** - `Add`: 使用Add方法可以在ArrayList的末尾添加一个元素。例如,`myArrayList.Add(someObject)` 将对象...
对ArrayList里装载的对象进行自定义排序(任意对象、任何字段、任何规则) ! ArrayList中可装载任何对象,并以指定的该对象的字段对该集合中的对象进行指定形式的排序(正序、反序)。 任何类通用........
这将按照默认的排序规则(通常是字典顺序)对`ArrayList`中的元素进行排序。 #### 反转元素顺序 如果需要反转排序后的元素顺序,可以使用`Reverse()`方法: ```vb mycountries.Reverse() ``` 这将使`ArrayList`...
2. **ArrayList排序**:ArrayList是基于动态数组实现的列表,其内部实现支持排序。对整数ArrayList进行排序,可以直接调用`Collections.sort()`方法,因为整数实现了`Comparable`接口。而如果ArrayList包含自定义...