美文网首页
System.arraycopy()

System.arraycopy()

作者: 啦咔_e297 | 来源:发表于2019-10-05 18:54 被阅读0次

    System.arraycopy(src, srcPos, dest, destPos, length);
    src:要被复制的数组
    srcPos:被复制的数组的开始位置
    dest:要复制的数组
    destPos要:复制的数组的开始位置
    length:复制的长度

    package com.array;
    
    public class TestArrayCopy {
    
        public static void main(String[] args) {
            String[] str={"1","2","3","4","5","6","7"};
            String[] str2={"8","9","10"};
            removeElement(str,1);
            System.out.println("removeElement方法####################");
            extendRange(str);
            System.out.println("extendRange方法#######################");
            addElement(str,1,str2);
        }
    
        //删除元素
        public static String[] removeElement(String[] s,int index){     
            
            System.arraycopy(s,index+1,s,index,s.length-index-1);
            s[s.length-1]=null;
            for(int i=0;i<s.length;i++){
                System.out.println(i+"---"+s[i]);
            }
            return s;
        }
        
        //拓展数组长度
        public static String[] extendRange(String[] s1){
            String[] s2=new String[s1.length+20];
            System.arraycopy(s1, 0, s2, 0, s1.length);
            for(int i=0;i<s2.length;i++){
                System.out.println(i+"---"+s2[i]);
            }
            return s2;
        } 
        
        //在数组指定位置插入数组或元素
        public static String[] addElement(String[] s1,int index,String[] s2){
            
            String[] s3=new String[s1.length+s2.length];
            System.arraycopy(s1, 0, s3, 0, s1.length);
            
            String[] s4=new String[s3.length];
            System.arraycopy(s3,index, s4, 0, s3.length-s2.length-index);
            for(int i=0;i<s3.length-s2.length-index;i++){
                s3[index+i+3]=s4[i];    
            }
            
            System.arraycopy(s2, 0, s3, index, s2.length);
            //s3[6]="9";
            //for(int i=0;i<s4.length;i++){
            //  System.out.println(i+"---"+s4[i]);
            //  }
            //System.out.println("#################");
            for(int i=0;i<s3.length;i++){
            System.out.println(i+"---"+s3[i]);
            }
            return s3;
        }
    }
    
    

    相关文章

      网友评论

          本文标题:System.arraycopy()

          本文链接:https://www.haomeiwen.com/subject/mpkypctx.html