`

Java ArrayList排序

    博客分类:
  • work
阅读更多

常常遇到数组排序的问题.比如我有一个Person类,它的实例对象存储在ArrayList数组中,现在要把ArrayList数组中的Person对象按照年龄排序.
其实这种情况经常遇到.
下面给出源代码:

1:Person.java文件:-------------------------------
public class Person{
     String name;
     int age;
 
 public Person(String name,int age){
     this.name = name;
     this.age = age;
 
 }

 public int getAge() {
     return age;
 }

 public void setAge(int age) {
     this.age = age;
 }

 public String getName() {
     return name;
 }

 public void setName(String name) {
     this.name = name;
 }

}


2:Mycomparator.java-------------------------------
// 实现Comparator接口,也就是定义排序规则,你几乎可以定义任何规则
package com.infoearth;
import java.util.*;
public class Mycomparator implements Comparator{

    public int compare(Object o1,Object o2) {
        Person p1=(Person)o1;
        Person p2=(Person)o2; 
       if(p1.age<p2.age)
           return 1;
       else
           return 0;
       }

}

3:ListSort.java------------------------------------

package com.infoearth;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;

public class ListSort {
     public static void main(String[] args){
         ArrayList list = new ArrayList();
         list.add(new Person("lcl",28));
         list.add(new Person("fx",23));
         list.add(new Person("wqx",29));
         Comparator comp = new Mycomparator();
         Collections.sort(list,comp);  
         for(int i = 0;i<list.size();i++){
             Person p = (Person)list.get(i);
             System.out.println(p.getName());
         } 
 
     }

}

当然,如果你的List包装的是基本类型或者String,则只要 Collections.sort(list);即可 

分享到:
评论

相关推荐

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

    ArrayList作为Java集合框架中的一员,它提供了丰富的操作接口,包括对元素的添加、删除、修改以及排序等。本篇将重点讲解如何利用ArrayList实现快速排序(Quick Sort)、归并排序(Merge Sort)和堆排序(Heap Sort...

    java中对ArrayList进行排序

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

    arrayList排序

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

    java ArrayList集合的应用

    用java语言编写一个程序实现学员成绩管理,每个学员包括3门课的成绩,从键盘输入学员信息, 包括学号、姓名、三门课成绩,计算出学员的平均成绩,按照学员平均成绩由大到小排序 插入功能:在排序后的学员成绩表中...

    java对ArrayList排序代码示例

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

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

    总结一下,这个示例展示了如何在Java中使用ArrayList,以及如何通过Comparator接口自定义排序规则。ArrayList是动态数组,提供便利的增删改查操作。`Collections.sort()`方法结合Comparator可以实现自定义排序,使得...

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

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

    java List 排序 Collections.sort

    总结起来,`Collections.sort()`是Java中对List进行排序的标准工具,它支持自然排序和自定义排序。了解其工作原理和优化技巧,可以帮助我们在编程实践中更高效地处理数据。通过阅读和理解`Collections.sort()`的源码...

    java 中文姓氏 排序

    ### Java 中文姓氏排序详解 #### 一、引言 在处理中文数据时,我们经常需要对含有中文姓名的数据进行排序。Java 提供了多种方式进行排序,包括使用 `Collections.sort()` 方法配合自定义比较器(`Comparator`)。...

    java中ArrayList的用法

    ### Java中ArrayList的用法详解 #### 一、概述 `ArrayList`是Java集合框架中的一个动态数组类,它能够存储任意类型的对象,并且在运行时动态调整其大小。这使得`ArrayList`成为处理数量未知的数据集合时的一个非常...

    java冒泡排序java冒泡排序集锦方法!

    `Collections.sort()` 是 Java 中一种快速且高效地对集合(如 ArrayList)进行排序的方法。可以自定义比较器来指定排序规则。 **示例代码分析**: ```java public class Main { public static void main(String[] ...

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

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

    Java针对ArrayList自定义排序的2种实现方法

    Java针对ArrayList自定义排序的2种实现方法 Java语言中提供了多种方式来实现ArrayList的自定义排序,今天我们将介绍其中的两种实现方法。首先,让我们了解一下ArrayList的基本概念。ArrayList是一种动态数组,能够...

    Java常用排序算法&程序员必须掌握的8大排序算法+二分法查找

    在编程领域,尤其是在Java开发中,排序算法是基础且至关重要的知识。无论是处理数据库查询、数据分析,还是优化程序性能,熟练掌握各种排序算法都显得尤为关键。本资料包聚焦于"Java常用排序算法"和"程序员必须掌握...

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

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

    java 集合分组与排序

    下面我们将深入探讨如何在Java中实现集合的分组与排序。 1. **集合分组**: 集合分组通常涉及到`GroupingBy`操作,这在Java 8引入的流(Stream)API中得到了很好的支持。`Collectors.groupingBy`方法允许我们将...

    java List排序工具类

    java List排序工具类 使用示例: new OrderUtils().order(list, "name", OrderUtils.DESC); 相关实例代码: public static void main(String[] args) { List&lt;Person&gt; list = getData(); // 获取无序数据 new ...

    arraylist 对象 数组排序

    在Java编程语言中,ArrayList是...总的来说,对ArrayList中的对象进行排序涉及到Java集合框架的核心概念,包括List接口、Collections工具类以及Comparator接口。理解这些知识点对于编写高效、灵活的Java代码至关重要。

Global site tag (gtag.js) - Google Analytics