2个回答
展开全部
Queue对象底层有一个数组,你若不指定大小,他会默认给定一个大小。
若数据比这个数组的大小多,他会重新分配数组,大概是原来的一倍大,然后把旧有数据copy进去。
如果你反复大量添加数据,又没有指定足够大的初始大小,他会做很多次数组拷贝,消耗性能。
此外,就算数据比数组大小只多1个,他也会自动扩大一倍,浪费空间,所以若能预先知道大概的大小,并指定,可以节约空间。
此外,若数据数量超过你的指定,他仍然会自动扩大一倍。并不是限制了它的大小,Queue永远是无限大小的。
若数据比这个数组的大小多,他会重新分配数组,大概是原来的一倍大,然后把旧有数据copy进去。
如果你反复大量添加数据,又没有指定足够大的初始大小,他会做很多次数组拷贝,消耗性能。
此外,就算数据比数组大小只多1个,他也会自动扩大一倍,浪费空间,所以若能预先知道大概的大小,并指定,可以节约空间。
此外,若数据数量超过你的指定,他仍然会自动扩大一倍。并不是限制了它的大小,Queue永远是无限大小的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询