中易网

arraylist中最多能放多少元素

答案:5  悬赏:40  
解决时间 2021-03-14 10:40
最近正在做一个项目,数据量T记,dao层用到了集合ArrayList,但不知道压力测试有没有危险,自己做了些测试,没有理论指导,有高手请进

一楼的,就是那个意思,还有,内存不是要多少有多少的,哪个程序员会不负责任到内存多大就用多大啊?
最佳答案
目前ArrayList的size方法返回的是一个int,所以它最多能放Integer.MAX_VALUE((2^31)-1)个元素。

你可以估计元素的大小来估计你的程序会占用多少内存啊。写一个简单的程序,在里头把一万个(或更多;越多越准)DB数据元素放进一个ArrayList然后用一句System.in.read()防止程序的终止,此时打开Task Manager就知道整个程序占用多少内存从而能估计一个元素的大小。

话说回来,如果一个程序里什么都没有,就只有一个装满的ArrayList,那程序会占用多少内存空间呢?
2147483647 × 32 bits = 68719476704 bits

大约8GB!

谁家有那么多内存?
全部回答
arraylist删除一个元素,有两种方法1.按下标删除 如: list.remove(0),list.remove(list.size() -1); 2.按元素删除 如: list.remove(list.get(0)) 删除第一个元素list.remove(list.get(list.size()-1)) 删除最后一个元素
正确的说JVM的堆有多大就能有多大。 其实你不要在乎它的大小,尽管用,说白了就是你的运行机器给JVM的堆比率决定了arraylist的存储量,只要你做的东西在你用的机器上能跑,那么arraylist就能存的下;但是有一点要注意,那就是你不要要求太好的速度;arraylist在达到一定存储比率的时候就会相应的降低速度了。
只要你机器内存够大 随便多少
每个 ArrayList 实例都有一个容量。该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向 ArrayList 中不断添加元素,其容量也自动增长。并未指定增长策略的细节,因为这不只是添加元素会带来分摊固定时间开销那样简单。 在添加大量元素前,应用程序可以使用 ensureCapacity 操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。 如果你添加的元素大于ArrayList的容量,其容量也自动增长。 所以没有最多,只有更多
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
欧洲哪些国家不靠海
梦里梦着梦中梦配对
长乐台球棋牌地址好找么,我有些事要过去
60-3322879 是哪里的电话号码
利剑怎么能让微信抢到的红包都是包
九号凉菜地址在哪,我要去那里办事
蛇剥皮了放冷冻了会有寄生虫吗
华为手机充电器的真品和仿冒的鉴别方法
香港耀中学校和广州耀华国际学校是什么关系?
我是一个大一的女生(一本),现在要选专业方
如何填报2015年沈阳中考志愿
亚古河州老炒地址在哪,我要去那里办事
怎么用两个人的名字定制情侣网名
B2证扣分要看录像学习清分
黑莓型号在手机哪个位置
推荐资讯
计算器时间被篡改后 如何恢复杀毒软件?
2015款福特锐界suv什么时间上市
孝感有哪些风俗习惯与名谣
瑞虎3x的油耗怎么样?
云南特产——冬虫夏草介绍
四方来客饭店地址在什么地方,想过去办事
打印机佳能MP258能否把四色墨盒更换为六色墨
我对老公的占有欲太强了,怎么办!
农历1983年10月17出生的是什么星座
犯了愁是什么意思
弟弟结婚装枕头应该谁装
印冠图文地址有知道的么?有点事想过去
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?