利用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 Arrays.sort中文叫数组名,是指sort(byte[] a)和sort(long[] a)两种排序方法,使用这个两种方法可以对数字在指定的范围内排序。这个方法在 java.util这个包里面,所以在用到的时候需要先将它导入。
VB.NET二维数组快速排序(更新) 'OldArrays(),为排序二维数组;NewArrays(),为存放结果数组,SortColumnsOrOrders(),传递排序参数数组,偶数个为排序列号,奇数为升降序,0为升序,1为降序;FieldRow,是否有字段行...
在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序。例如: String[] arrays = new String[] { gyu, sdf, zf, 大同, 收到, 地方, 三等分, 的人, 反对高铁, 泛代数, 上的投入...
主要介绍了Java数组高级算法与Arrays类常见操作,结合实例形式总结分析了Java数组常见的排序算法、查找算法相关原理、实现与使用技巧,需要的朋友可以参考下
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.sort(a),Arrays.toString
排序算法,基本的高级语言都有一些提供。C语言有qsort()函数,C++有sort()函数,java语言有Arrays类(不是Array)。用这些排序时,都可以写自己的排序规则
下面小编就为大家带来一篇java数组及arrays类对数组的操作实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Sorting_arrays_JS JavaScript中数组排序的不同方法
当遇到数组排序时,我们经常会使用学过的几种排序方法,而java 本身提供了Arrays.sort,在数据元素较少或者对效率要求不是抬高时,直接使用Arrays.sort来的更容易。查看一下源码后Arrays.sort 本身采用的是快速排序。
第03章 方法与数组 11 Arrays工具类
第五节 数组 (Arrays).docx
int [] data = new int[5]; //定义一个存储5个int类型的数组 //通过索引值访问数组的元素 ...//也可以直接调用Arrays工具类toString()把数组的元素转换为字符串 System.out.println( Arrays.toString( data2 ));
07_Multidimensional_Arrays_pdf_
数组的基本操作 数组的参数传递 数组的查找、排序 Arrays类 二维数组
主要介绍了JAVA基于Arrays.sort()实现数组升序和降序,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
算法(冒泡,选择,插入,数组排序) package Teacher; import java.io.*;... java.util.Arrays.sort(a); // 检测一下排序的结果 for(int i : a){ System.out.print(" "+i); } } }
VB.NET二维数组快速排序: OldArrays(),为排序二维数组;NewArrays(),为存放结果数组;Header,是否有标题行;SortColumnsOrOrders(),传递排序参数数组,奇数个为排序列号,偶数为升降序,0为升序,1为降序