Arrays.sort()总结

  1. Arrays.sort()中只有数组参数

    int[] array = {5, 6, -1, 4};
    Arrays.sort(array);

    这种是默认的排序,按照字典序(ASCII)的顺序进行排序。
  2. Arrays.sort()中数组参数和排序方法

    1. 使用提供的方法

      String[] str = {“abc”, “aaa”, “abc”};
      Arrays.sort(str, String.CASE_INSENSITIVE_ORDER);

      String中定义的忽略大小写,完全通过字母的顺序进行排序

      Arrays.sort(str, Collections.reverseOrder());

      反向排序

    2. 自定义排序方法
      出来使用java提供的排序方法外,还可以使用自定义的排序方法,自定义排序方法需要实现java.util.Comparetor接口中的compare方法。
      int compare(Object obj1, Object obj2)
      compare方法返回负数时代表不交换
      compare方法返回0时代表不交换
      compare方法返回正数时代表交换
      例:

package test;
import java.util.Arrays;
import java.util.Comparator;;
class TestCompare implements Comparator<ArraysSort> {
    public static Comparator<ArraysSort> testcompare = new TestCompare();
    @Override
    public int compare(ArraysSort o1, ArraysSort o2) {
        // TODO Auto-generated method stub
        if(o1.a < o2.a && o1.b < o2.b) return -1;
        else if(o1.a == o2.a && o1.b < o2.b) return 0;
        return 1;
    }

}
public class ArraysSort {
    public int a, b;
    public ArraysSort() {}
    public ArraysSort(int a,int b) {
        this.a = a;
        this.b = b;
    }
    public static void main(String[] args) {
        ArraysSort[] arrays = {new ArraysSort(2,1), new ArraysSort(1,2), 
                new ArraysSort(1,1)};
        Arrays.sort(arrays, TestCompare.testcompare);
        for(ArraysSort t : arrays) {
            System.out.println(t.a + " " + t.b);
        }

    }
}
  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Arrays.sort是Java中用于对数组进行排序的方法。它可以按照升序或降序对数组中的元素进行排序。根据引用\[1\],可以使用Arrays.sort(arr)对整个数组进行从小到大的排序。例如,给定数组arr = {4,3,5,1,2,9,3,0},使用Arrays.sort(arr)后,数组将变为{0,1,2,3,3,4,5,9}。\[1\] 如果只想对数组的一部分进行排序,可以使用Arrays.sort(arr, start, end)方法。根据引用\[3\],例如,给定数组arr = {3,60,2,1,4,55,6,8,47,2,3,5},使用Arrays.sort(arr, 2, arr.length)将在第二位以后对数组进行从小到大的排序。排序后的数组为{3,60,1,2,2,3,4,5,6,8,47,55}。\[3\] 总结起来,Arrays.sort方法可以对整个数组或部分数组进行排序,可以按照升序或降序进行排序。 #### 引用[.reference_title] - *1* [数组Array.sort()排序的方法](https://blog.csdn.net/qq_42401674/article/details/103391890)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [通过Arrays.sort()方法对数组进行排序](https://blog.csdn.net/qq_36138652/article/details/97045743)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值