package com.loveCoding.j20250607_method; import java.util.Arrays; /** * @author WanJl * @version 1.0 * @title Demo09 * @description * @create 2025/6/7 */ public class Demo09 { /** * 1、实现将arr1和arr2数组合并为一个新的数组并返回,先数组1后数组2 * 1,2,3,4,5 5,4,3,2,1 * 1,2,3,4,5,5,4,3,2,1 * * @param arr1 * @param arr2 * @return */ public static int[] toOneArray(int[] arr1, int[] arr2) { if (arr1.length == 0 || arr1 == null) { //如果前一个数组为空,则直接返回后一个数组 return arr2; } if (arr2.length == 0 || arr2 == null) { //如果后一个数组为空,则直接返回前一个数组 return arr1; } int[] tempArray = new int[arr1.length + arr2.length]; for (int i = 0; i < tempArray.length; i++) { if (i < arr1.length) { tempArray[i] = arr1[i]; } else { tempArray[i] = arr2[i - arr1.length]; } } return tempArray; } /* 2、实现将arr1和arr2数组合并为一个新的数组并返回, 起始元素为数组1的元素,然后是数组2的第1个元素....以此类推 1,2,3,4,5 5,4,3,2,1 1,5,2,4,3,3,4,2,5,1 */ public static int[] toOneArray2(int[] arr1, int[] arr2) { //如果前一个数组为空,则直接返回后一个数组 if (arr1.length == 0 || arr1 == null) { return arr2; } //如果后一个数组为空,则直接返回前一个数组 if (arr2.length == 0 || arr2 == null) { return arr1; } //新数组长度是两个数组的长度和 int[] tempArray = new int[arr1.length + arr2.length]; //判断两个数组哪个长度更短 int minLength= arr1.length> arr2.length?arr2.length:arr1.length; //以长度短的进行循环 for (int i = 0; i < minLength; i++) { tempArray[i*2]=arr1[i]; //先赋值数组arr1 0 2 4 6 8 10 ..... tempArray[(i*2)+1]=arr2[i]; //再赋值数组arr2 1 3 5 7 9 11..... } //再开启一个循环,把数组长的剩余的元素依次放到新数组后面 for (int i = minLength*2; i