Arrays.sort()

  • Arrays在java.util.Arrays包下,它的sort方法包括但不限于以下几种,即包括对数组进行排序,对数组内某一段进行排序,对数组按给定比较器排序,对数组内某一段按给定比较器排序。

在这里插入图片描述
在这里插入图片描述
实在不想自己编辑文字描述,以下是jdk文档中的截图
在这里插入图片描述

  • 以下为个别方法使用示例(借鉴于 这里
  • Arrays.sort(int[] a)
    • 对一个int型数组的所有元素进行排序(从小到大)。
      import java.util.Arrays;
        
       public class Main {
           public static void main(String[] args) {
                
               int[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};
               Arrays.sort(a);
               for(int i = 0; i < a.length; i ++) {
                    System.out.print(a[i] + " ");
               }
           }
       }
       
       运行结果:0 1 2 3 4 5 6 7 8 9
      
  • Arrays.sort(int[] a, int fromIndex, int toIndex)
    • 对数组部分排序,也就是对数组a的下标从fromIndex到toIndex-1的元素排序,注意:下标为toIndex的元素不参与排序哦!
        import java.util.Arrays;
        
        public class Main {
            public static void main(String[] args) {
                
                int[] a = {9, 8, 7, 2, 3, 4, 1, 0, 6, 5};
                Arrays.sort(a, 0, 3);
                for(int i = 0; i < a.length; i ++) {
                    System.out.print(a[i] + " ");
                }
            }
        
        }
        运行结果 7 8 9 2 3 4 1 0 6 5
      
  • public static void sort(T[] a,int fromIndex,int toIndex, Comparator c)
    • 对数组部分按给定比较器排序,也就是说上面的排列顺序只能是从小到大,如果我们要从大到小,就要使用这种方式
      public class Demo {
          public static void main(String[] args) {
              Integer[] a = { 9, 8, 7, 2, 3, 4, 1, 0, 6, 5 };
              //定义一个自定义类MyComparator的对象
              Comparator cmp = new MyComparator();
              Arrays.sort(a, cmp);
              for (int i = 0; i < a.length; i++) {
                  System.out.print(a[i] + " ");
              }
          }
      }
      class MyComparator implements Comparator<Integer> {
          @Override
          public int compare(Integer o1, Integer o2) {
              if (o1 < o2) {
                  return 1;
              } else if (o1 > o2) {
                  return -1;
              } else {
                  return 0;
              }
          }
      }
      运行结果:9 8 7 6 5 4 3 2 1 0 
      
    • 这里使用java8新特性优化一下
      public class Demo {
          public static void main(String[] args) {
              Integer[] a = { 9, 8, 7, 2, 3, 4, 1, 0, 6, 5 };
              // lambad表达式
              Arrays.sort(a, ((o1, o2) -> o2-o1));
              for (int i = 0; i < a.length; i++) {
                  System.out.print(a[i] + " ");
              }
          }
      }
      运行结果:9 8 7 6 5 4 3 2 1 0 
      

就是这样 OVER ~ ~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值