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
  • 阅读 ( 233 )
  • 分类:其他类型

相关问题

0 条评论

请先 登录 后评论