Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 325|回复: 0

[Java基础知识]ArrayList中的数据排序--java对象排序

[复制链接]
  • TA的每日心情
    开心
    2021-3-12 23:18
  • 签到天数: 2 天

    [LV.1]初来乍到

    发表于 2014-9-30 23:47:16 | 显示全部楼层 |阅读模式
    常常遇到数组排序的问题.比如我有一个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;
    }[/code]
      
       
       
         
       

       
       
      

    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接口,也就是定义排序规则,你几乎可以定义任何规则
    import java.util.*;
    public class Mycomparator implements Comparator{
    public int compare(Object o1,Object o2) {
      Person p1=(Person)o1;
      Person p2=(Person)o2;  
    [/code]      if(p1.age<p2.age)
            return 1;
        else if(p1.age>p2.age)
           return -1;
        else
          return 0;
        }    }
    3:ListSort.java------------------------------------
    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());
      }  
      
      }
    }
    运行结果:

    C:java>java  ListSort
    wqx
    lcl
    fx[/code] C:java>  
    [/code] 特此存档,也希望对兄弟们有帮助.


    源码下载:http://file.javaxxz.com/2014/9/30/234716031.zip
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-5-13 16:05 , Processed in 0.375977 second(s), 46 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表