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

 更新时间:2014年03月20日 09:36:20   作者:  
这篇文章主要介绍了java的arraylist排序示例,学习一下arraylist的用法,需要的朋友可以参考下

写了一个java数组排序示例,这里分享给大家共同学习

复制代码 代码如下:

package com.yonyou.test;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
public class Test {
 public static void main(String[] args) {
  Student zlj = new Student("丁晓宇", 21);
  Student dxy = new Student("赵四", 22);
  Student cjc = new Student("张三", 11);
  Student lgc = new Student("刘武", 19);
  List<Student> studentList = new ArrayList<Student>();
  studentList.add(zlj);
  studentList.add(dxy);
  studentList.add(cjc);
  studentList.add(lgc);
  System.out.println("按照年齡排序:");
  Collections.sort(studentList, new SortByAge());
  for (Student student : studentList) {
   System.out.println(student.getName() + " / " + student.getAge());
  }
  System.out.println(" ========= ");
  System.out.println("按照姓名排序");
  Collections.sort(studentList, new SortByName());
  for (Student student : studentList) {
   System.out.println(student.getName() + " / " + student.getAge());
  }
 }
}
class SortByAge implements Comparator {
 public int compare(Object o1, Object o2) {
  Student s1 = (Student) o1;
  Student s2 = (Student) o2;
  if (s1.getAge() > s2.getAge())
   return 1;
  else if (s1.getAge() == s2.getAge()) {
   return 0;
  }
  return -1;
 }
}
class SortByName implements Comparator {
 public int compare(Object o1, Object o2) {
  Student s1 = (Student) o1;
  Student s2 = (Student) o2;
  if(s1.getName().compareTo(s2.getName()) < 0)
   return -1;
  else if (s1.getName().compareTo(s2.getName()) > 0) {
   return 1;
  }
  return 0;
 }
}
class Student{
 private int age;
 private String name;
 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;
 }
 public Student(String name,int age) {
  this.age = age;
  this.name = name;
 }
}

相关文章

  • Java实现的n阶曲线拟合功能示例

    Java实现的n阶曲线拟合功能示例

    这篇文章主要介绍了Java实现的n阶曲线拟合功能,结合实例形式分析了Java基于矩阵的多项式曲线拟合相关操作技巧,需要的朋友可以参考下
    2018-01-01
  • java 排序算法之归并排序

    java 排序算法之归并排序

    本文主要讲解了排序算法中的归并排序,文中运用大量的图片和代码讲解的非常详细,感兴趣的朋友可以学习一下这篇文章,相信可以帮助到你
    2021-09-09
  • 深入探究Java线程与进程有哪些区别

    深入探究Java线程与进程有哪些区别

    这篇文章主要介绍了Java并发编程之线程创建,进程是代码在数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,线程则是一个实体,一个进程中至少有一个线程,下文更多相关内容需要的小伙伴可以参考一下
    2022-04-04
  • Java中判断字符串是否相等的实现

    Java中判断字符串是否相等的实现

    这篇文章主要介绍了Java中判断字符串是否相等的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 10个SpringBoot参数验证你需要知道的技巧分享

    10个SpringBoot参数验证你需要知道的技巧分享

    参数验证很重要,是平时开发环节中不可少的一部分,那么在Spring Boot应用中如何做好参数校验工作呢,本文提供了10个小技巧,你知道几个呢
    2023-03-03
  • 微信公众号支付(二)实现统一下单接口

    微信公众号支付(二)实现统一下单接口

    本篇文章主要给大家介绍调用微信公众支付的统一下单API,通过参数封装为xml格式并发送到微信给的接口地址就可以获得返回内容,需要的朋友可以参考下本文
    2015-09-09
  • java提取json中某个数组的所有值方法

    java提取json中某个数组的所有值方法

    下面小编就为大家分享一篇java提取json中某个数组的所有值方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • Java中equals()方法实例详解

    Java中equals()方法实例详解

    equals方法是java.lang.Object类的方法,下面这篇文章主要给大家介绍了关于Java中equals()方法的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2021-12-12
  • 深入了解Java包与访问控制权限

    深入了解Java包与访问控制权限

    这篇文章主要带你掌握Java中包的定义及使用以及Java中的4种访问权限,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下
    2022-09-09
  • java ConcurrentHashMap分段加锁提高并发效率

    java ConcurrentHashMap分段加锁提高并发效率

    这篇文章主要为大家介绍了java ConcurrentHashMap分段加锁提高并发效率,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12

最新评论