java中,如何实现动态为int类型数组增加长度?
展开全部
一般是这样做的。当访问越界,或者添加数据超过数组当前的length时候。
重新申请一个大于等于越界长度的数组。
然后通过Sysmem.arraycopy将原先数组的内容拷贝到新的内存块中。
如果删除了某些元素,使得capacity(容器大小)远大于实际的length时。可以重新构建trim后的数组并copy过去。
这也是ArrayList中的实现方法。System.arraycopy是一个native方法,拷贝效率比较高。
重新申请一个大于等于越界长度的数组。
然后通过Sysmem.arraycopy将原先数组的内容拷贝到新的内存块中。
如果删除了某些元素,使得capacity(容器大小)远大于实际的length时。可以重新构建trim后的数组并copy过去。
这也是ArrayList中的实现方法。System.arraycopy是一个native方法,拷贝效率比较高。
追问
能不能帮个举个例子,谢谢!
展开全部
java中数组的大小是固定的,如果不能确定数组大小,可以使用集合类,List,Set等
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-02-13
展开全部
那就在控制台中把你输入的字符串的长度给数组就完了.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你把java.util.ArrayList 的源码 看一遍就明白了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询