使用Arrays类对数组元素进行排序(通过Comparable接口实现对象比较)

JDK提供的java.util.Arrays类包含了常用的数组操作,可以实现数组元素的排序、查找、填充、打印等常见操作。

实例:

import java.util.Arrays;
public class Test {
	public static void main (String args[]) {
		Man[] msMans = { new Man(3,"a"), new Man(60,"b"), new Man(2,"c") };
		//遍历排序前的msMans数组的元素
		for(Man temp : msMans) {
			System.out.println(temp);
		}
		//打印排序前的msMans数组的元素
		System.out.println(Arrays.toString(msMans));              
		//对数组元素排序;小数据时用串行排序(sort),大数据是用并行排序(parallelSort)延迟会明显较低
		Arrays.sort(msMans);
		//打印排序后的msMans数组的元素
		System.out.println(Arrays.toString(msMans));
		/*
		 * //deepToString()主要应用于多维数组字符串的转换,不过也可以用于一维数组
		 * System.out.println(Arrays.deepToString(msMans));
		 * 
		 */	}
}
//Man类继承Comparable接口实现元素比较
class Man implements Comparable<Object> {
	int age;
	int id;
	String name;
	
	public Man (int age,String name) {
		super();
		this.age = age;
		this.name = name;
	}
	public String toString() {
		return this.age+" "+this.name;
	}
	//通过compareTo(Object)方法判断对象大小,其方法内部原理即是通过其中一项属性做对比标准,即此类中的age为标准定义对象大小
	public int compareTo(Object f) {
		Man man = (Man) f;
		if (this.age < man.age) {
			return -1;
		}
		if (this.age > man.age) {
			return 1;
		}
		return 0;
	}
}

输出结果:

3 a
60 b
2 c
[3 a, 60 b, 2 c]
[2 c, 3 a, 60 b]

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值