首页>>互联网>>大数据->arraylist存放的最大数据是多少

arraylist存放的最大数据是多少

时间:2023-12-19 本站 点击:0

导读:很多朋友问到关于arraylist存放的最大数据是多少的相关问题,本文首席CTO笔记就来为大家做个详细解答,供大家参考,希望对大家有所帮助!一起来看看吧!

c# arraylist 理论最大长度是多少?

默认容量为16,根据数据长度动态分配,没有限制长度。非要说个限制,其性能应该取决于运行机可支配内存的大小。

java中list最多可以存储多少条数据

从语言上来看,java.util.List是个接口,其下有N多实现,最常用的是ArrayList和LinkedList及其各种继承或同步化实现(如Vector/Queue/Stack这些的)

ArrayList内部是拿数组存储,那么上限就是Integer.MAX_VALUE

LinkedList内部是个链表,理论上是无限的

另外,List里放的东西都是在内存里的(当然你也可以自己实现一个放磁盘上的),因此能放多少也取决于放的东西的大小以及种类。

大小方面很容易计算,一个对象如果1K,那400,000个就至少要占用400M的内存(不算其他占用)。

而虚拟机内存分类方面,如果是普通对象,一般占用的都是堆(Heap)空间,如果是常量或是类似String.intern()出来的东东,则占用的是永生带(Permanent Generation)。

实际开发中,虚拟机默认内存大小根据不同的虚拟机实现有所不同,可以在启动应用时用-Xmx调整最大堆大小,比如调整堆最大大小为2G:

所以40万是放得下的

Java中ArrayList最大容量为什么是Integer.MAX

因为arraylist的容量使用int值指定的,所以就限制在Integer.MAX来指定。

List arrayList = new ArrayList(CAPACITY_SIZE);

即指定默认容量大小的方式。

((旧容量 * 3) / 2) + 1

arraylist中最多能放多少元素

目前ArrayList的size方法返回的是一个int,所以它最多能放Integer.MAX_VALUE((2^31)-1)个元素。

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

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

2147483647 × 32 bits = 68719476704 bits

大约8GB!

谁家有那么多内存?

结语:以上就是首席CTO笔记为大家整理的关于arraylist存放的最大数据是多少的全部内容了,感谢您花时间阅读本站内容,希望对您有所帮助,更多关于arraylist存放的最大数据是多少的相关内容别忘了在本站进行查找喔。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/BigData/44392.html