Stydy Better AND Day Day UP——数组的拷贝——备忘录

老子叫甜甜 提交于 2020-01-29 22:15:49

Java数组的基本拷贝

Java中数组的拷贝主要使用了System.arraycopy(src, srcPos, dest, destPos, length)类。其中,src(Object对象)是操作数组源地址,dest(Object对象)是拷贝数组的目标地址,srcPos(int型)是开始拷贝的位置,destPos(int型)是拷贝到的位置,length(int型)是数组中拷贝数据的长度。

  1. 从一个数组拷贝到另一个数组
            public static void testArrayCopy(){
    		String[] a1 = {"a","b","c","d"};
    		String[] a2 = new String[10];
    		System.arraycopy(a1, 1, a2, 6, 3);
    		
    		for (int i = 0; i < a2.length; i++) {
    			System.out.println(i+"--"+a2[i]);
    		}
    	}
  2. 删除数组指定位置元素(本质是数组的自身拷贝)
           public static void testArrayCopy2(){
    		String[] a1 = {"a","b","c","d","e"};
    		//String[] a2 = new String[5];
    		System.arraycopy(a1, 3, a1, 2, 2);
    		a1[a1.length-1] = null;
    		
    		for (int i = 0; i < a1.length; i++) {
    			System.out.println(i+"--"+a1[i]);
    		}
    	}
  3. 在数组指定位置插入元素(本质上是定义一个新数组,将原数组原封不动的拷贝进新数组中)
           public static String[] extendsArray(String[] s1) {
    		String[] s2 = new String[s1.length+10];
    		System.arraycopy(s1, 0, s2, 0, 3);
           	        for(String temp:s2){
            	    	System.out.println(temp);
    	    	}
    	        return s2;
    	}

     

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!