zoukankan      html  css  js  c++  java
  • 数组

    一、数组是什么
    • 数组是具有相同数据类型的一组数据的集合
     
    二、一维数组
    • 创建一维数组
    a. 声名一维数组的两种方式
    int arr[];
    String arr[];
     
    int[] arr;
    String[] arr;
    b. 为数组分配内存
    arr = new int[5];
    arr = new String[5];
    c. 声名的同时为数组分配内存
    int month[] = new int[12];
    • 初始化一维数组
    //二种初始化方式
     
    int arr[] = new int[]{1,2,3,4,5};
    int arr2[] = {1,2,3,4,5};
    • 使用一维数组
    public static void example3() {
        int arr2[] = {1,2,3,4,5};
     
        for(int i = 0; i <= 4; i++) {
            System.out.println(arr2[i]);
        }
    }
     
    三、二维数组
    • 创建二维数组
    a. 声明二维数组
    int myarr[][];
    b. 为数组分配内存
    myarr = new int[2][4];
    c. 分别为每一维分配内存
    a = new int[2][];
     
    a[0] = new int[2];
    a[1] = new int[3];
    d. 声明的同时为数组分配内存
    int myarr[][] = new int[2][4];
    • 初始化二维数组
    int arr[][] = {{10,20}, {30,40}};
    • 使用二维数组
    public static void example4() {
        int arr[][] = new int[3][4];
     
        for(int i = 0; i < arr.length; i++) {
            for(int j = 0; j < arr[i].length; j++) {
                System.out.print(arr[i][j]); //0000
            }
        }
    }
     
    四、数组的基本操作
    • 遍历数组
    //for
    public static void example5() {
        String arr[][] = {{"ww","ww"}, {"dd", "dd"}, {"mm", "mm"}};
     
        for(int i = 0; i < arr.length; i++) {
            for(int j = 0; j < arr[i].length; j ++){
                System.out.print(arr[i][j]);
            }
        }
    }
     
    //foreach
    public static void example6() {
        String arr[][] = {{"ww", "ww"}, {"dd", "dd"}, {"mm", "mm"}};
     
        for (String x[] : arr) {
            for (String v : x) {
                System.out.print(v);
            }
        }
    }
    • 填充替换数组元素
    //可通过Arrays类的静态方法fill()来对数组中的元素进行替换
    //fill(int[] a, int value);
    //fill(int[] a, form, to, int var);  from--替换开始位置(包括) to--替换结束位置(不包括) var--要替换的值
     
    public static void example7() {
        int arr[] = new int[5];
        Arrays.fill(arr, 8);
     
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i]); //88888
        }
    }
     
    public static void example8() {
        int arr[] = {3, 3, 3, 3};
        Arrays.fill(arr, 1, 3, 8);
     
        for (int x : arr) {
            System.out.print(x); //3883
        }
    }
    • 对数组进行排序
    //通过Arrays类的静态sort()方法可以实现对数组的排序,sort()方法提供了多种重载形式,可对任意类型的数组进行升序排序
    //Arrays.sort(object);
     
    public static void example9() {
        int arr[] = {7, 5, 1, 4};
        Arrays.sort(arr);
     
        for (int x : arr) {
            System.out.print(x); //1457
        }
    }
    • 复制数组
    //copyOf();       复制数组至指定长度
    //copyOfRange();  复制数组至指定范围
     
    public static void example10() {
        int arr[] = {3, 4, 5};
        int arr2[] = Arrays.copyOf(arr, 5);
     
        for (int x : arr2) {
            System.out.print(x + "-"); //3-4-5-0-0-
        }
    }
     
    public static void example11() {
        int arr[] = {3, 4, 5, 6, 7, 8, 9};
        int arr2[] = Arrays.copyOfRange(arr, 0, 3);
     
        for (int x : arr2) {
            System.out.print(x + "-"); //3-4-5-
        }
    }
    • 数组查询
    //Array类的binarySearch()方法,可使用二分搜索法来搜索指定数组,以获得指定对象,返回要搜索元素的索引值
    //binarySearsh(Object[] a, Object key);
     
    五、数组排序算法
    • 冒泡算法
    • 直接选择排序
    • 反转排序
    • ...
  • 相关阅读:
    ‘Host’ is not allowed to connect to this mysql server
    centos7安装mysql
    further configuration avilable 不见了
    Dynamic Web Module 3.0 requires Java 1.6 or newer
    hadoop启动 datanode的live node为0
    ssh远程访问失败 Centos7
    Linux 下的各种环境安装
    Centos7 安装 python2.7
    安装scala
    Centos7 安装 jdk 1.8
  • 原文地址:https://www.cnblogs.com/duomen/p/12916497.html
Copyright © 2011-2022 走看看