中国黑客业务团队承接一切网站入侵业务,服务器入侵业务,文件加密,文件解密,办公系统入侵,电脑远程控制等业务
联系我们:
技术支持
技术支持








删除数组中一个或者多个连续的元素

参考StringBuffer的底层源码实现:

public final class StringBuffer extends AbstractStringBuilder implements java.io.Serializable, CharSequence

char[] value;int count;public AbstractStringBuilder delete(int start, int end) {        if (start < 0)            throw new StringIndexOutOfBoundsException(start);        if (end > count)            end = count;        if (start > end)            throw new StringIndexOutOfBoundsException();        int len = end - start;        if (len > 0) {            System.arraycopy(value, start+len, value, start, count-end);            count -= len;        }        return this;    } 

策略解析:Test  System.arraycopy()方法:String[] array1 = { 1, 2, 3, 4, 5 };//System.arraycopy(value, start+len, value, start, count-end); //System.arraycopy(src, srcPos, dest, destPos, length);System.arraycopy(array1, 4, array1, 3,1);//从索引为4的元素开始,替换了从起始索引为3的元素,替换长度为1printArray(array1);//1 2 3 5 5 
分析count -= len; 数组元素替换之后,就变成12355, count = 源数组的元素个数 len = 我们要替换的末索引-始索引 = (期望被删除的元素的个数) count -= len; // 表示数组被删除后,长度减少了len个。所以count -= len; 12355 取 4个长度。。就是1235,那么看结果,4已经被删除掉了。。。

[1] [2]  下一页