当前位置:  编程技术>java/j2ee

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

    来源: 互联网  发布时间:2014-11-03

    本文导语:  示例1 代码如下: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("赵四",...

示例1

代码如下:

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 studentList = new ArrayList();
  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;
 }
}

示例2

常常遇到数组排序的问题.比如我有一个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


    
 
 

您可能感兴趣的文章:

  • andriod下java socket网络编程:java socket客户端服务端代码示例
  • 输出java进程的jstack信息示例分享 通过线程堆栈信息分析java线程
  • java Servlet实现Session创建存取以及url重写代码示例
  • java 四舍五入使java保留2位小数示例讲解
  • java进行error捕获和处理示例(java异常捕获)
  • java去除集合中重复元素示例分享 java去除重复
  • java读取csv文件示例分享(java解析csv文件)
  • java求三个数的最大值的示例分享
  • java生成字母数字组合的随机数示例 java生成随机数
  • java实现网页解析示例
  • java协变返回类型使用示例
  • 使用java执行定时任务示例
  • java自定义枚举转换器示例
  • java向文件末尾添加内容示例分享
  • java正则表达式获取url的host示例
  • java使用正则表达校验手机号码示例(手机号码正则)
  • java实现jframe透明窗体示例
  • java的split方法使用示例
  • java抓取网页数据示例
  • Oracle 使用Java Source 简单示例
  • java自定义日期转化类示例
  • java命名空间java.util类arraylist<e>的类成员方法: arraylist定义及介绍
  • java的arraylist排序示例(arraylist用法)
  • java命名空间java.util类arraylist<e>的类成员方法: clone定义及介绍
  • java中ArrayList的几个问题!
  • java命名空间java.util类arraylist<e>的类成员方法: ensurecapacity定义及介绍
  • 数据库 iis7站长之家
  • java命名空间java.util类arraylist<e>的类成员方法: clear定义及介绍
  • java使用listIterator逆序arraylist示例分享
  • java命名空间java.util类arraylist<e>的类成员方法: size定义及介绍
  • <<Thingking in JAVA>>里的疑惑 :Vector 与 ArrayList
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java map(HashMap TreeMap)用法:初始化,遍历和排序详解
  • Java中的数组排序方式(快速排序、冒泡排序、选择排序)
  • 深入Java冒泡排序与选择排序的区别详解
  • Java实现按中文首字母排序的具体实例
  • java排序去重示例分享
  • java冒泡排序算法代码
  • java数组排序示例分享
  • 请问在java中如何对中文字符进行排序呢?
  • java对double数组排序示例分享
  • java数组排序示例(冒泡排序、快速排序、希尔排序、选择排序)
  • JAVA算法起步之插入排序实例
  • java二路归并排序示例分享
  • java实现合并两个已经排序的列表实例代码
  • java冒泡排序和选择排序示例
  • java插入排序 Insert sort实例
  • JAVA算法起步之快速排序实例
  • java实现voctor按指定方式排序示例分享
  • java操作mongodb基础(查询 排序 输出list)
  • Java使用选择排序法对数组排序实现代码
  • java 合并排序算法、冒泡排序算法、选择排序算法、插入排序算法、快速排序算法的描述
  • 快速排序算法原理及java递归实现
  • java命名空间java.sql类types的类成员方法: java_object定义及介绍
  • 我想学JAVA ,是买THINK IN JAVA 还是JAVA2核心技术:卷1 好???
  • java命名空间java.awt.datatransfer类dataflavor的类成员方法: imageflavor定义及介绍
  • 请问Java高手,Java的优势在那里??,Java主要适合于开发哪类应用程序
  • java命名空间java.lang.management类managementfactory的类成员方法: getcompilationmxbean定义及介绍
  • 如何将java.util.Date转化为java.sql.Date?数据库中Date类型对应于java的哪个Date呢
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getlibrarypath定义及介绍
  • 谁有电子版的《Java编程思想第二版(Thinking in java second)》和《Java2编程详解(special edition java2)》?得到给分
  • java命名空间java.lang.management接口runtimemxbean的类成员方法: getstarttime定义及介绍
  • 本人想学java,请问java程序员的待遇如何,和java主要有几个比较强的方向




  • 特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3