最近正在做一个项目,数据量T记,dao层用到了集合ArrayList,但不知道压力测试有没有危险,自己做了些测试,没有理论指导,有高手请进
一楼的,就是那个意思,还有,内存不是要多少有多少的,哪个程序员会不负责任到内存多大就用多大啊?
arraylist中最多能放多少元素
答案:5 悬赏:40
解决时间 2021-03-14 10:40
- 提问者网友:朱砂泪
- 2021-03-13 18:18
最佳答案
- 二级知识专家网友:情战辞言
- 2021-03-13 19:20
目前ArrayList的size方法返回的是一个int,所以它最多能放Integer.MAX_VALUE((2^31)-1)个元素。
你可以估计元素的大小来估计你的程序会占用多少内存啊。写一个简单的程序,在里头把一万个(或更多;越多越准)DB数据元素放进一个ArrayList然后用一句System.in.read()防止程序的终止,此时打开Task Manager就知道整个程序占用多少内存从而能估计一个元素的大小。
话说回来,如果一个程序里什么都没有,就只有一个装满的ArrayList,那程序会占用多少内存空间呢?
2147483647 × 32 bits = 68719476704 bits
大约8GB!
谁家有那么多内存?
你可以估计元素的大小来估计你的程序会占用多少内存啊。写一个简单的程序,在里头把一万个(或更多;越多越准)DB数据元素放进一个ArrayList然后用一句System.in.read()防止程序的终止,此时打开Task Manager就知道整个程序占用多少内存从而能估计一个元素的大小。
话说回来,如果一个程序里什么都没有,就只有一个装满的ArrayList
2147483647 × 32 bits = 68719476704 bits
大约8GB!
谁家有那么多内存?
全部回答
- 1楼网友:一池湖水
- 2021-03-13 23:54
arraylist删除一个元素,有两种方法1.按下标删除 如: list.remove(0),list.remove(list.size() -1); 2.按元素删除 如: list.remove(list.get(0)) 删除第一个元素list.remove(list.get(list.size()-1)) 删除最后一个元素
- 2楼网友:丢不掉的轻狂
- 2021-03-13 22:25
正确的说JVM的堆有多大就能有多大。
其实你不要在乎它的大小,尽管用,说白了就是你的运行机器给JVM的堆比率决定了arraylist的存储量,只要你做的东西在你用的机器上能跑,那么arraylist就能存的下;但是有一点要注意,那就是你不要要求太好的速度;arraylist在达到一定存储比率的时候就会相应的降低速度了。
- 3楼网友:深街酒徒
- 2021-03-13 20:51
只要你机器内存够大 随便多少
- 4楼网友:冷眼_看世界
- 2021-03-13 20:02
每个 ArrayList 实例都有一个容量。该容量是指用来存储列表元素的数组的大小。它总是至少等于列表的大小。随着向 ArrayList 中不断添加元素,其容量也自动增长。并未指定增长策略的细节,因为这不只是添加元素会带来分摊固定时间开销那样简单。
在添加大量元素前,应用程序可以使用 ensureCapacity 操作来增加 ArrayList 实例的容量。这可以减少递增式再分配的数量。
如果你添加的元素大于ArrayList的容量,其容量也自动增长。
所以没有最多,只有更多
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯