利用Arrays.sort(Array,Comparator)对数组进行排序

描述:
输入整型数组和排序标识,对其元素按照升序或降序进行排序。0为升序,1为降序。

分析:
对数组的排序,按照前面某篇文章里讲过的两种方法足以,但可以利用Arrays.sort(Array,Comparator)进行排序。
大大简化了代码。

代码如下:
普通排序方法:
public static void sortArray(Integer[] pIntegerArray, int sortFlg)
    {
    if (pIntegerArray == null)
    {
    return;
    }
    int temp = 0;
    if (sortFlg == 0)
    {
    boolean flag = true;
    while (flag)
    {
    flag = false;
    for (int j=0;j+1<pIntegerArray.length;j++)
    {
    if (pIntegerArray[j] > pIntegerArray[j+1])
    {
    flag = true;
    temp = pIntegerArray[j+1];
    pIntegerArray[j+1] = pIntegerArray[j];
    pIntegerArray[j] = temp;
    }
    }
    }
    return;
    }
    else
    {
    boolean flag = true;
    while (flag)
    {
    flag = false;
    for (int j=0;j+1<pIntegerArray.length;j++)
    {
    if (pIntegerArray[j] < pIntegerArray[j+1])
    {
    flag = true;
    temp = pIntegerArray[j+1];
    pIntegerArray[j+1] = pIntegerArray[j];
    pIntegerArray[j] = temp;
    }
    }
    }
    return;
    }
    }

利用Arrays.sort(Array,Comparator)进行排序:
public static void sortArray(Integer[] pIntegerArray, int sortFlg)
{
if (sortFlg == 0)
{
Arrays.sort(pIntegerArray);//默认为升序
/*
即等价于:
Arrays.sort(pIntegerArray, new Comparator<Integer>
{
public int compare(Integer a, Integer b)
{
return a.compareTo(b);//升序
}
});
*/
}
else
{
Arrays.sort(pIntegerArray, new Comparator<Integer>
{
public int compare(Integer a, Integer b)
{
return b.compareTo(a);
}
});
}
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值