ArrayList的内部维护着一个数组,当调用remove方法的时候,会将删除位置之后的所有的数据向前移动,java中是以删除位置起始,用System.arrayCopy来复制删除位置后面的数据到当前数组的删除位置:
由于ArrayList的读取效率很高,所以可以利用这个特性,把头元素跟尾元素调换位置,再把尾部元素删掉即可。
ArrayList的内部维护着一个数组,当调用remove方法的时候,会将删除位置之后的所有的数据向前移动,java中是以删除位置起始,用System.arrayCopy来复制删除位置后面的数据到当前数组的删除位置:
由于ArrayList的读取效率很高,所以可以利用这个特性,把头元素跟尾元素调换位置,再把尾部元素删掉即可。