Arrays.sort()排序问题

针对基本数据类型的Arrays.sort()方法中,使用方式如下:Arrays.sort(数组)

以上的数组类型基本数据类型的数组

以上排序是按照从小到大的顺序来排列数组的

如: int[] arrayToSort = new int[] { 48, 5, 89, 80, 81, 23, 45, 16, 2 };
        Arrays.sort(arrayToSort);

        排序后的顺序是:2,5,16,23,45,48,80,81,89

 

再如:String[] arrayToSort = new String[] { "Oscar", "Charlie", "Ryan","Adam", "David","aff","Aff" };

           Arrays.sort(arrayToSort);

           排序后的顺序是:Adam,Aff,Charlie,David,Oscar,Ryan,aff

 

以上是针对基本数据类型的数组使用排序的情况,对象数组使用此排序与基本数据类型不相同。

对象数组假如想要使用Array.sort()方法进行排序的话需要使用   implement Comparator ,所以得重载 compareTo() 这个方法 

         所以排序使用方法如下:

要针对对象数组进行排序:

   Dog o1 = new Dog("dog1", 1);
   Dog o2 = new Dog("dog2", 4);
   Dog o3 = new Dog("dog3", 5);
   Dog o4 = new Dog("dog4", 2);
   Dog o5 = new Dog("dog5", 3);
   Dog[] dogs = new Dog[] { o1, o2, o3, o4, o5 };

要针对这个对象使用自定义的排序规则,那么就需要

class ByWeightComparator implements Comparator {
public final int compare(Object pFirst, Object pSecond) {

       }

}

然后再使用已经定义好的排序规则针对对象数组进行排序

Arrays.sort(dogs, new ByWeightComparator());

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值