java根据一个已知数组,生成新数组,新数组长度翻倍,新数组的前一半内容为原数组,后一半内容为原数组的反序。

java根据一个已知数组,创建新数组,新数组长度翻倍,新数组的前一半内容为原数组,后一半内容为原数组的反序。

如果这个已知数组是任意类型的数组,如字符串或其他对象数组,则可能需要使用泛型等办法来编写,下面是默认已知数组为int类型数组的一个测试例子,供参考:




public class DoubleArrExchangeTest<T> {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        int arr[] = {1,2,3,4,5,6,7,8,9,10}; //原已知数组
        
        //打印原数组的内容
        System.out.println("原数组的内容为:");
        for(int i=0;i<arr.length;i++) {
            System.out.print(arr[i]+" ");
        }
        System.out.println();
        

        int result[] = DoubleArrExchange(arr); //调用拷贝和反转操作的方法
        
        //打印执行拷贝和反转操作后的新数组的内容
        System.out.println("执行拷贝与反转操作后的新数组内容为:"); 
        for(int i=0;i<result.length;i++) {
            System.out.print(result[i]+" ");
        }
        
    } 
    
    //执行拷贝和反转操作的方法
    public static int [] DoubleArrExchange(int [] arr) {
        
        int [] result = new int[arr.length*2]; //新数组长度为原数组的两倍
    
        //遍历原数组,执行拷贝和反转操作
        for(int i=0;i<arr.length;i++) {
            result[i] = arr[i];  //从新数组开始位置逐个拷贝原数组的元素
            result[arr.length+i] =arr[arr.length-1-i]; //从新数组后半部分开始逐个反序拷贝原数组的元素,以完成反序操作
        }
        
        
        
        
        
        return result; //返回结果
    }

}

img