`

Java数组排序Arrays_sort,Comparator接口的用法 (二)

阅读更多

利用Comparator接口对对象进行排序:

 

Students类:

package com.seimma.arrays;

public class Students{
 
 private String name;   //学员姓名
 private int age;       //学员年龄
 
 public Students(){
  
 }
 
 public Students(String name,int age){
  this.name=name;
  this.age=age;
 }
 
 public String getName() {
  return name;
 }
 public void setName(String name) {
  this.name = name;
 }
 public int getAge() {
  return age;
 }
 public void setAge(int age) {
  this.age = age;
 }
}

 

ByAgeComparator 排序类:

 

package com.seimma.arrays;

import java.util.Comparator;

public class ByAgeComparator implements Comparator<Object> {
     /**
      * firstStudents 要比较的第一个对象
      * secondStudnets 要比较的第二个对象
      */
     public int compare(Object firstStudents, Object secondStudnets) {
      int firstAge=((Students)firstStudents).getAge();      //取出第一个对象的值。 
      int secondAge=((Students)secondStudnets).getAge();    //取出第一个对象的值。

      int threeAge=firstAge-secondAge;     //进行比较

      //第一个参数小于、等于或大于第二个参数时分别返回负整数、零或正整数

      if (threeAge>0) {
      return 1;
      }
         if (threeAge<0) {
      return -1;
      }else {
         return 0;
      }
    }
}

 

package com.seimma.arrays;

 

import java.util.Arrays;

public class ArraysDemo {

       public static void main(String[] args) {
             ArraysDemo sortArrays=new ArraysDemo();
             sortArrays.sortObjectArray();
      }

 

      /**
     * 对对象进行排序
     */
    public void sortObjectArray(){
     Students stu1=new Students("Students1",1);
     Students stu2=new Students("Students2",2);
     Students stu3=new Students("Students3",3);
     Students stu4=new Students("Students4",4);
     Students stu5=new Students("Students5",5);
     Students stu6=new Students("Students6",6);
     
     Students [] stus=new Students[]{stu3,stu5,stu1,stu6,stu2,stu4};
     System.out.println("对对象排序前:");
     for (int i = 0; i < stus.length; i++) {
   Students st=stus[i];
   System.out.println(st.getName());
  }
     
     System.out.println("对对象排序后:");
     Arrays.sort(stus, new ByAgeComparator());
     for (int i = 0; i < stus.length; i++) {
      Students st=stus[i];
      System.out.println(st.getName());
   
  }
    }

 

}

分享到:
评论

相关推荐

    java数组排序

    java Arrays.sort中文叫数组名,是指sort(byte[] a)和sort(long[] a)两种排序方法,使用这个两种方法可以对数字在指定的范围内排序。这个方法在 java.util这个包里面,所以在用到的时候需要先将它导入。

    VB.NET二维数组快速排序(更新)

    VB.NET二维数组快速排序(更新) 'OldArrays(),为排序二维数组;NewArrays(),为存放结果数组,SortColumnsOrOrders(),传递排序参数数组,偶数个为排序列号,奇数为升降序,0为升序,1为降序;FieldRow,是否有字段行...

    Java编程实现中英混合字符串数组按首字母排序的方法

    在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序。例如: String[] arrays = new String[] { gyu, sdf, zf, 大同, 收到, 地方, 三等分, 的人, 反对高铁, 泛代数, 上的投入...

    Java数组高级算法与Arrays类常见操作小结【排序、查找】

    主要介绍了Java数组高级算法与Arrays类常见操作,结合实例形式总结分析了Java数组常见的排序算法、查找算法相关原理、实现与使用技巧,需要的朋友可以参考下

    java数组扩容2

    Java数组扩容的原理  1)Java数组对象的大小是固定不变的,数组对象是不可扩容的。  2)利用数组复制方法可以变通的实现数组扩容。  3)System.arraycopy()可以复制数组。  4)Arrays.copyOf()可以简便的...

    Arduino项目开发 Control_Arrays_Arrays.pdf

    Arduino项目开发 Control_Arrays_Arrays.pdf Arduino项目开发 Control_Arrays_Arrays.pdf Arduino项目开发 Control_Arrays_Arrays.pdf Arduino项目开发 Control_Arrays_Arrays.pdf Arduino项目开发 Control_Arrays_...

    数组排序和合并为字符串

    如何将数组排序后,以字符串的形式输出,Arrays.sort(a),Arrays.toString

    java的arrays数组排序示例分享

    排序算法,基本的高级语言都有一些提供。C语言有qsort()函数,C++有sort()函数,java语言有Arrays类(不是Array)。用这些排序时,都可以写自己的排序规则

    java数组及arrays类对数组的操作实例

    下面小编就为大家带来一篇java数组及arrays类对数组的操作实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    Sorting_arrays_JS:JavaScript中数组排序的不同方法

    Sorting_arrays_JS JavaScript中数组排序的不同方法

    java 对象数组排序

    当遇到数组排序时,我们经常会使用学过的几种排序方法,而java 本身提供了Arrays.sort,在数据元素较少或者对效率要求不是抬高时,直接使用Arrays.sort来的更容易。查看一下源码后Arrays.sort 本身采用的是快速排序。

    第03章 方法与数组 11 Arrays工具类

    第03章 方法与数组 11 Arrays工具类

    第五节 数组 (Arrays).docx

    第五节 数组 (Arrays).docx

    Java数组讲解

    int [] data = new int[5]; //定义一个存储5个int类型的数组 //通过索引值访问数组的元素 ...//也可以直接调用Arrays工具类toString()把数组的元素转换为字符串 System.out.println( Arrays.toString( data2 ));

    07_Multidimensional_Arrays_pdf_.zip

    07_Multidimensional_Arrays_pdf_

    Java第六章__数组.ppt

    数组的基本操作 数组的参数传递 数组的查找、排序 Arrays类 二维数组

    JAVA基于Arrays.sort()实现数组升序和降序

    主要介绍了JAVA基于Arrays.sort()实现数组升序和降序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    冒泡排序 算法(冒泡,选择,插入,数组排序)

    算法(冒泡,选择,插入,数组排序) package Teacher; import java.io.*;... java.util.Arrays.sort(a); // 检测一下排序的结果 for(int i : a){ System.out.print(" "+i); } } }

    VB.NET二维数组快速排序

    VB.NET二维数组快速排序: OldArrays(),为排序二维数组;NewArrays(),为存放结果数组;Header,是否有标题行;SortColumnsOrOrders(),传递排序参数数组,奇数个为排序列号,偶数为升降序,0为升序,1为降序

Global site tag (gtag.js) - Google Analytics