• java.util.Arrays类


     JDK提供的java.util.Arrays类,包含了常用的数组操作,方便我们日常开发。Arrays类包含了:排序、查找、填充、打印内容等常见的操作。

    【示例7-10】打印数组

    1
    2
    3
    4
    5
    6
    7
    8
    import java.util.Arrays;
    public class Test {
        public static void main(String args[]) {
            int[] a = { 12 };
            System.out.println(a); // 打印数组引用的值;
            System.out.println(Arrays.toString(a)); // 打印数组元素的值;
        }
    }

          执行结果如图7-6所示:

    图7-6 示例7-10运行效果图.png

    图7-6 示例7-10运行效果图

    菜鸟雷区

          此处的Arrays.toString()方法是Arrays类的静态方法,不是前面讲的Object的toString()方法。

    【示例7-11】数组元素的排序

    1
    2
    3
    4
    5
    6
    7
    8
    9
    import java.util.Arrays;
    public class Test {
        public static void main(String args[]) {
            int[] a = {1,2,323,23,543,12,59};
            System.out.println(Arrays.toString(a));
            Arrays.sort(a);
            System.out.println(Arrays.toString(a));
        }
    }

          执行结果如图7-7所示:

    图7-7 示例7-11运行效果图.png

    图7-7 示例7-11运行效果图

    【示例7-12】数组元素是引用类型的排序(Comparable接口的应用)

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    import java.util.Arrays;
    public class Test {
        public static void main(String[] args) {
            Man[] msMans = { new Man(3"a"), new Man(60"b"), new Man(2"c") };
            Arrays.sort(msMans);
            System.out.println(Arrays.toString(msMans));
        }
    }
     
    class Man implements Comparable {
        int age;
        int id;
        String name;
     
        public Man(int age, String name) {
            super();
            this.age = age;
            this.name = name;
        }
     
        public String toString() {
            return this.name;
        }
     
        public int compareTo(Object o) {
            Man man = (Man) o;
            if (this.age < man.age) {
                return -1;
            }
            if (this.age > man.age) {
                return 1;
            }
            return 0;
        }
    }

    【示例7-13】二分法查找

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    import java.util.Arrays;
    public class Test {
        public static void main(String[] args) {
            int[] a = {1,2,323,23,543,12,59};
            System.out.println(Arrays.toString(a));
            Arrays.sort(a);   //使用二分法查找,必须先对数组进行排序;
            System.out.println(Arrays.toString(a));
            //返回排序后新的索引位置,若未找到返回负数。
            System.out.println("该元素的索引:"+Arrays.binarySearch(a, 12)); 
        }
    }

          执行结果如图7-8所示:

    图7-8 示例7-13运行效果图.png

    图7-8 示例7-13运行效果图

    【示例7-14】数组填充

    1
    2
    3
    4
    5
    6
    7
    8
    9
    import java.util.Arrays;
    public class Test {
        public static void main(String[] args) {
            int[] a= {1,2,323,23,543,12,59};
            System.out.println(Arrays.toString(a));
            Arrays.fill(a, 24100);  //将2到4索引的元素替换为100;
            System.out.println(Arrays.toString(a));
        }
    }

          执行结果如图7-9所示:

    图7-9 示例7-14运行效果图.png

    图7-9 示例7-14运行效果图

  • 相关阅读:
    fill 全解(转)
    解题报告 疯狂的馒头
    解题报告 报数
    解题报告 noi 2005 智慧珠游戏(BT 搜索)
    解题报告 跑步
    解题报告 Punch
    解题报告 纪念日
    解题报告 新兵站队
    转载:让理科生沉默,让文科生流泪的综合题
    解题报告 信号放大器
  • 原文地址:https://www.cnblogs.com/huaxiansheng/p/15313778.html
Copyright © 2020-2023  润新知