其实就是用数组最后一位的数据替换掉你要删除的位置的数据。
这个方法还是很实用的,在某些情况下效率倍增。
比如你有一堆仆人,你需要以最快的方式获得闲置的仆人。
你可能建立了一个对象池用来管理仆人(不会对象池的点这里)。内存池里有2个数组。一个是正在工作的,一个是闲置的。这样找到闲置的仆人就很简单了。直接从闲置的仆人的数组里拿最后一个。然后把这个仆人放到工作的数组里就好了。仆人工作完需要放回到闲置的数组里。这样问题就来了,刚刚工作完的仆人不一定在数组的什么位置,如果直接删除的话,效率就会低(不知道为什么低的看这里)。那么用刚刚提到的方法来删除的话效率就会高很多。
欢迎转载,转载请标明出处
网友评论