zoukankan      html  css  js  c++  java
  • java数组d的填充、复制、比较排序

    1、数组填充

            String[] a=new String[3];
            Arrays.fill(a,"222");
            System.out.println("a="+Arrays.asList(a));//a=[222, 222, 222]

    2、数组复制

            String[] b=new String[3];
            System.arraycopy(a, 0, b, 1, a.length-1);
         //
    System.arraycopy(src, srcPos, dest, destPos, length);
            System.out.println("b="+Arrays.asList(b));//b=[null, 222, 222]

    3、数组的比较

            b[0]="999";
            System.out.println("Arrays.equals(a, b)?"+Arrays.equals(a, b));//false

      基本数据类型,需要使用基本类型的包装类的equals()方法:

      

            Integer q=3;
            System.out.println(q.equals(4));//false

    4、数组元素的比较

      java有两种方式提供比较功能。

      (1)实现java.lang.Comparable接口,只有一个comparaTo()方法,一个类CustomClass实现该方法过后可以使用Arrays.sort(c); 

    public static class CustomClass implements Comparable {
    
            @Override
            public int compareTo(Object arg0) {
                // TODO Auto-generated method stub
                return 0;
            }
            
        }
        {
        CustomClass[] c=new CustomClass[10];
        //初始化c
        Arrays.sort(c);
    
        System.out.println("after Arrays.sort(c),c="+Arrays.asList(c));
        }

       倒转排序

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

      (2)Comparator

    class CustomComparator1 implements Comparator{
    
            @Override
            public int compare(Object arg0, Object arg1) {
                // TODO Auto-generated method stub
                return 0;
            }
            
        }
        {
        CustomClass[] c=new CustomClass[10];
        //初始化c
        Arrays.sort(c,new CustomComparator1());
        System.out.println("after Arrays.sort(c),c="+Arrays.asList(c));
        }

    数组排序(总结)

      使用内置的排序方法Arrays.sort(),就可以对任意的基本类型数组排序;

      也可以对任意的对象数组进行排序,只要该对象  a.实现了Comparable接口  b.或者具有相关联的Comparator

    在已经排序好的数组进行查找

      如果数组已经排序好了,就可以使用Arrays.binarySearch()进行快速查找,不能对未排序的数组使用binarySearch()

        int position;
        CustomClass key=new CustomClass();
        position=Arrays.binarySearch(c, key);
        System.out.println(position);

        position=Arrays.binarySearch(c, key,new CustomComparator1());
  • 相关阅读:
    JS入门(二)
    JavaScript中冒泡排序
    JS入门(一)
    页面的编写(二)
    页面的编写(一)
    编写页面之前的准备
    2019 ICPC徐州网络赛 K.Center
    2019 ICPC徐州网络赛 B.so easy(unordered_map)
    2018-2019 ICPC焦作区域赛B
    2019南昌ICPC网络赛 H.The Nth Item(矩阵快速幂+欧拉降幂+数学处理)
  • 原文地址:https://www.cnblogs.com/sunupo/p/10474834.html
Copyright © 2011-2022 走看看