`
zhiweiofli
  • 浏览: 514838 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

ArrayList的排序

阅读更多

在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的性能可能不如使用LinkedList,因为ArrayList排序时涉及到大量的索引计算和元素移动。 - 如果ArrayList中元素的类型不一致,`Collections.sort()`会抛出ClassCastException异常,...

    ArrayList排序.txt

    通用ArrayList 排序

    arr.rar_C# ArrayList 排序_arraylist_arraylist 排序_数组排序

    本篇文章将深入探讨ArrayList的排序以及数组排序的相关知识点。 首先,ArrayList的排序主要依赖于`Sort()`方法。这个方法是ArrayList类中的一个成员,它通过快速排序算法对ArrayList中的元素进行原地排序。快速排序...

    ArrayList排序和遍历补充案例.java

    ArrayList排序和遍历补充案例.java

    java的arraylist排序示例(arraylist用法)

    在这个示例中,我们将深入探讨如何对ArrayList中的对象进行排序,以及ArrayList的一些基本用法。 首先,我们创建了一个名为`Test`的类,其中包含主方法`main`,这是程序的入口点。在`main`方法中,我们实例化了几个...

    java中对ArrayList进行排序

    java中对ArrayList进行排序的方法参考

    java对ArrayList排序代码示例

    然而,ArrayList本身并不提供排序功能,但我们可以借助Java的Collections类提供的sort()方法来实现排序。本文将通过三个示例详细讲解如何在Java中对ArrayList进行排序。 首先,我们来看一个简单的例子,创建一个名...

    java教程之二个arraylist排序的示例分享

    总结一下,Java中对ArrayList排序的步骤包括: 1. 创建一个ArrayList,并填充需要排序的对象。 2. 实现Comparator接口,创建一个或多个比较器类,覆盖`compare()`方法,定义排序规则。 3. 使用`Collections.sort()`...

    基于ArrayList的对象多属性值排序

    在Java编程中,基于ArrayList的对象多属性值排序是一项常见的任务,尤其在处理数据集合时。ArrayList是Java集合框架的一部分,它提供了动态数组的功能,允许我们存储和操作对象数组。本主题将深入探讨如何对...

    Java ArrayList实现的快排,归并排序,堆排序

    本篇将重点讲解如何利用ArrayList实现快速排序(Quick Sort)、归并排序(Merge Sort)和堆排序(Heap Sort)这三种经典的排序算法,并探讨它们的原理、优缺点以及在实际应用中的选择。 **快速排序(Quick Sort)**...

    ArrayList反转排序1

    本篇文章将深入探讨如何使用ArrayList进行反转排序。在给出的标题和描述中,我们看到了两种方法,分别是反转ArrayList和对ArrayList进行排序。 首先,我们来看如何反转ArrayList。在Java中,我们可以使用`...

    Java系列ArrayList

    ArrayList排序 ArrayList本身不支持排序,但可以通过`Collections.sort()`方法对其进行排序: ```java Collections.sort(list); ``` ### 特别注意 ArrayList是非线程安全的,这意味着在多线程环境下,多个线程...

    arraylist 对象 数组排序

    当我们说“arraylist对象中的某个值排序”时,这通常指的是对ArrayList中的元素,而不是ArrayList本身进行排序。ArrayList不支持直接排序,但是我们可以通过调用Collections.sort()方法或者自定义Comparator来实现。...

    JAVA 键盘录入学生成绩,排序后输出

    7. **集合的遍历与排序输出**:在完成数据录入并排序后,可以通过迭代Set(如`TreeSet`)或使用`Collections.sort()`方法对ArrayList排序,然后逐个输出每个学生的相关信息。 在Eclipse这样的集成开发环境中,可以...

    有关于C#的程序(ArrayList类,动态添加,删除的)

    ArrayList提供了丰富的成员方法来操作其中的元素,如添加、删除、查找和排序等。 2. **动态添加元素** - `Add`: 使用Add方法可以在ArrayList的末尾添加一个元素。例如,`myArrayList.Add(someObject)` 将对象...

    对ArrayList里装载的对象进行自定义排序(任意对象、任何字段、任何规则) !

    对ArrayList里装载的对象进行自定义排序(任意对象、任何字段、任何规则) ! ArrayList中可装载任何对象,并以指定的该对象的字段对该集合中的对象进行指定形式的排序(正序、反序)。 任何类通用........

    ASP .NET - ArrayList对象

    这将按照默认的排序规则(通常是字典顺序)对`ArrayList`中的元素进行排序。 #### 反转元素顺序 如果需要反转排序后的元素顺序,可以使用`Reverse()`方法: ```vb mycountries.Reverse() ``` 这将使`ArrayList`...

    以前的算法小技巧1

    2. **ArrayList排序**:ArrayList是基于动态数组实现的列表,其内部实现支持排序。对整数ArrayList进行排序,可以直接调用`Collections.sort()`方法,因为整数实现了`Comparable`接口。而如果ArrayList包含自定义...

Global site tag (gtag.js) - Google Analytics