链接数组的四种方法(把两个数组链接成一个数组)

论坛 期权论坛 脚本     
匿名网站用户   2020-12-19 15:20   109   0

首先定义两个数组,这边以int数组为例

int[] arrayList={9,5,3,2,0,4};

int[] arrayList2={1,6,8,7};

方法一、ArrayUtils.addAll()方法,引入包:org.apache.commons.lang3.ArrayUtils;

int[] tempArrayList = ArrayUtils.addAll(arrayList,arrayList2);

String tempStr = Arrays.toString(tempArrayList); //将数组转化为字符串


方法二、System.arraycopy()方法

System.arraycopy(源数组,源数组起始位置,目标数组,目标数组起始位置,需要赋值数组元素长度);

int[] tempArrayList = new int[arrayList.length+arrayList2.length];

System.arraycopy(arrayList,0,tempArrayList,0,arrayList.length);

System.arraycopy(arrayList2,0,tempArrayList,arrayList.length,arrayList2.length);

String tempStr = Arrays.toString(tempArrayList); //将数组转化为字符串


方法三、Arrays.copyOf()方法

Arrays.copyOf(要复制的数组,要返回副本数组的长度);

int[] tempArrayList = Arrays.copyOf(arrayList,arrayList.length+arrayList2.length);

System.arraycopy(arrayList2,0,tempArrayList,arrayList.length,arrayList2.length);

String tempStr = Arrays.toString(tempArrayList); //将数组转化为字符串


方法四、Array.newInstance()方法

Array.newInstance(新数组的组件类型的Class对象,新数组的长度);

int[] tempArrayList = (int[])Array.newInstance(arrayList.getClass().getComponentType(),arrayList.length+arrayList2.length);

System.arraycopy(arrayList,0,tempArrayList,0,arrayList.length);

System.arraycopy(arrayList2,0,tempArrayList,arrayList.length,arrayList2.length);

String tempStr = Arrays.toString(tempArrayList); //将数组转化为字符串


代码展示:

public static void main(String[] args) {
  
  int[] arrayList={9,5,3,2,0,4};
  int[] arrayList2={1,6,8,7};
  
  /*//方法一、ArrayUtils.addAll(数组1,数组2);
   * //ArrayUtils.addAll()方法,引入包:org.apache.commons.lang3.ArrayUtils;
   * int[] tempArrayList = ArrayUtils.addAll(arrayList,arrayList2);
  String tempStr = Arrays.toString(tempArrayList); //将数组转化为字符串*/
  
  
  /*//方法二、System.arraycopy()方法
  //System.arraycopy(源数组,源数组起始位置,目标数组,目标数组起始位置,需要赋值数组元素长度);
  int[] tempArrayList = new int[arrayList.length+arrayList2.length];
  System.arraycopy(arrayList,0,tempArrayList,0,arrayList.length);
  System.arraycopy(arrayList2,0,tempArrayList,arrayList.length,arrayList2.length);
  String tempStr = Arrays.toString(tempArrayList); //将数组转化为字符串*/  
  
  
  
  /*//方法三、Arrays.copyOf()方法
  //Arrays.copyOf(要复制的数组,要返回副本数组的长度);
  int[] tempArrayList = Arrays.copyOf(arrayList,arrayList.length+arrayList2.length);
  System.arraycopy(arrayList2,0,tempArrayList,arrayList.length,arrayList2.length);
  String tempStr = Arrays.toString(tempArrayList); //将数组转化为字符串*/
  
  //方法四、Array.newInstance()方法
  //Array.newInstance(新数组的组件类型的Class对象,新数组的长度);
  int[] tempArrayList = (int[])Array.newInstance(arrayList.getClass().getComponentType(),arrayList.length+arrayList2.length);
  System.arraycopy(arrayList,0,tempArrayList,0,arrayList.length);
  System.arraycopy(arrayList2,0,tempArrayList,arrayList.length,arrayList2.length);
  String tempStr = Arrays.toString(tempArrayList); //将数组转化为字符串

  System.out.println(tempStr);
 }


分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:1136255
帖子:227251
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP