zoukankan      html  css  js  c++  java
  • JAVA之数组

    数组的变相扩容:

    int[] arr1={2,3,4,5};
    int[] arr4=Arrays.copyOf(arr1,arr1.length+1); //数组扩容后,扩容元素的默认值为0  //数组的长度使用的是数组的属性,.length后没有括弧
    System.out.println(Arrays.toString(arr4));
    arr4[arr4.length-1]=7;
    System.out.println(Arrays.toString(arr4));
    
    //结果:
    //            [2, 3, 4, 5, 0]
    //            [2, 3, 4, 5, 7]

     数组的复制:

    有两种方式,System.arraycopy()和Arrays.copyOf(),第一种不常用,了解即可。

    int[] arr1={2,3,4,5};
    int[] arr2=new int[4];
    System.arraycopy(arr1,0,arr2,0,4); 
    //结果:
    //     [2, 3, 4, 5]
    int[] arr1={2,3,4,5};
    int[] arr2=new int[4];
    int[] arr3=Arrays.copyOf(arr1,4);
    System.out.println(Arrays.toString(arr3));
    //结果:
    //     [2, 3, 4, 5]

    数组的初始化:

    int[] arr;  //建议使用这种方式新建
    int arr1[]; //这种是方便C程序员的写作习惯制定的
    int[] arr2 = {1, 2, 3, 4};
    int[] arr3 = new int[4]; //默认4个元素存储的都是0,如果数组新建后不赋值,就默认为数据类型对应的初始值
    int[] arr4 = new int[]{2, 3, 4, 5};
    //静态初始化只能在数组声明的同时进行初始化操作
    int[] arr5;
    arr5 = new int[]{};

    打印二维数组:

    Arrays.deepToString()方法可以打印二维数组。

    int[][] arr4=new int[4][3];
    for(int i=0;i<arr4.length;i++){
         for(int j=0;j<arr4[i].length;j++){
              arr4[i][j]=i*j;
         }
    }
    System.out.println(Arrays.deepToString(arr4));
    //结果:
    //            [[0, 0, 0], [0, 1, 2], [0, 2, 4], [0, 3, 6]]
  • 相关阅读:
    初入水:vector
    Sort Colors
    Palindrome Partitioning II
    Search for a Range
    Container With Most Water
    Palindrome Partitioning
    Longest Consecutive Sequence
    简单写了一个堆排序
    Best Time to Buy and Sell Stock III
    4-7
  • 原文地址:https://www.cnblogs.com/yanwuliu/p/10775407.html
Copyright © 2011-2022 走看看