• <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>

    java如何將新數據加入數組中

    java中的數組是不成變的,要想將新數據插手數組,焦點就是新建一個更長的數組然后將老數據復制,新數據添加到后面。

    但具體操作時有多種體例,下面一一介紹。

    合用于新手的方式

    1. 1

      對新手來說,最易于理解的方式就是手動新建一個長度長1的數組,然后填充它。

      代碼如下

      public static void main(String[] args) {

      int[] arr = new int[] {1,2,3,4,5};

      System.out.println(Arrays.toString(addElementToArray(arr,6)));

      }

      public static int[] addElementToArray(int[] arr, int num) {

      int [] result = new int[arr.length+1];

      for(int i=0;i<arr.length;i++) {

      result[i]=arr[i];

      }

      result[result.length-1] = num;

      return result;

      }

    2. 2

      輸出如下,成果是準確的。

    效率最高的方式

    1. 1

      將中心的for輪回,換當作java庫里面自帶的

      System.arraycopy方式可以提高效率

    2. 2

      若是你感覺參數欠好記的話,在eclipse或idea中打出System.arraycopy今后,看它智能提醒里面的參數名字就能回憶起來參數的寄義。第一個是源數組,第二個是源數組肇端位置,第三個是方針數組,第四個是方針數組肇端位置,第五個是要復制的元素長度。

      System.arraycopy(src, srcPos, dest, destPos, length);

      也可以按住alt+鼠標左鍵查看jdk源碼,里面的英文注釋詮釋了參數寄義。

    Arrays.copyOf

    1. 1

      Arrays.copyOf這個方式內部也是經由過程System.arraycopy實現的,效率根基一樣,可以使代碼更簡練。

    利用List

    1. 1

      若是數組類型是Integer而不是int,可以用List,List有add方式。ArrayList內部也是封裝的數組,也會經由過程Arrays.copyOf這種體例來增添元素。

      不外數組與List進行轉換時,要注重可能會碰見良多問題,List不克不及添加元素的問題和數組類型的問題。

    削減原生數組的利用

    1. 1

      其實List或者其它調集類的設計,就是為領會決原生數組操作不便利的問題。沒有需要為了晉升那一點點的效率老是手工對數組元素進行操作,利用調集類就可以了。

    • 發表于 2018-08-02 00:00
    • 閱讀 ( 715 )
    • 分類:其他類型

    你可能感興趣的文章

    相關問題

    0 條評論

    請先 登錄 后評論
    聯系我們:uytrv@hotmail.com 問答工具
  • <noscript id="ecgc0"><kbd id="ecgc0"></kbd></noscript>
    <menu id="ecgc0"></menu>
  • <tt id="ecgc0"></tt>
    久久久久精品国产麻豆